Despite the recommendation of reading the NTP FAQ (even when possibly not updated recently), I'd like to update https://superuser.com/a/181348/964771:
As current versions disabled the private ntpdc
protocol (because of possibly amplification attacks), you should use ntpq
instead.
ntpq
has been enhanced and knows the sysinfo
command, too:
# ntpq -nc sysinfo
associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
system peer: [2003:ee:2f02:8800:cece:1eff:fec8:f98f]:123
system peer mode: client
leap indicator: 00
stratum: 4
log2 precision: -25
root delay: 18.625
root dispersion: 47.180
reference ID: 195.81.109.67
reference time: e8d6d32d.73b8521b Sun, Oct 15 2023 23:07:57.452
system jitter: 0.000000
clock jitter: 29.838
clock wander: 5.124
broadcast delay: -50.000
symm. auth. delay: 0.000
Another useful command is "read list" (rl
):
# ntpq -nc rl
associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
version="ntpd [email protected] Wed Jun 7 12:00:00 UTC 2023 (1)",
processor="x86_64", system="Linux/5.14.21-150500.55.28-default", leap=00,
stratum=4, precision=-25, rootdelay=18.625, rootdisp=49.100,
refid=195.81.109.67,
reftime=e8d6d32d.73b8521b Sun, Oct 15 2023 23:07:57.452,
clock=e8d6d435.8a3ce64f Sun, Oct 15 2023 23:12:21.539, peer=4544, tc=7,
mintc=3, offset=-16.434911, frequency=-1.411, sys_jitter=0.000000,
clk_jitter=29.838, clk_wander=5.124
Probably the most important bits are the string clock_sync
(sync_ntp
) and the offset
.
rootdisp
(root dispersion
) give a general quality indicator:
The lower the value the better the quality (in simple words).
Finally, RFC 8633 (Network Time Protocol Best Current Practices) may be a useful resource, too.
Last, but not least, UNIX systems that support the NTP time interface (as Linux does) can display the sync status of the kernel clock using ntptime
:
# ntptime
ntp_gettime() returns code 0 (OK)
time e8d6d6eb.21a58710 Sun, Oct 15 2023 23:23:55.131, (.131432979),
maximum error 533452 us, estimated error 29838 us, TAI offset 0
ntp_adjtime() returns code 0 (OK)
modes 0x0 (),
offset -386.699 us, frequency -1.411 ppm, interval 1 s,
maximum error 533452 us, estimated error 29838 us,
status 0x2001 (PLL,NANO),
time constant 6, precision 0.001 us, tolerance 500 ppm,
Here the return value (OK
) and the status
(despite from estimated error
) is important: if the return value or status indicate "TIME_ERROR" or "0x41", there is a problem to analyze.