J. P. Gilliver (John) said:
Ah, but you're checking something it _calls_ "last sync time"; whether
it _actually_ synced/updated then, rather than just said it did, could
only, AFAICS, be checked by deliberately setting your clock wrong, and
seeing when it was corrected.
The built-in NTP function in Windows, can generate a log.
C:\WINDOWS\Temp\w32time.log
But the log is filled with garbage, so it's pretty hard to tell what
is going on. For example, every 17 minutes, there is some bogus activity,
and it just *has* to be logged.
150050 21:28:06.7343750s - W32TmServiceMain: timeout
150050 21:28:06.7343750s - TimeProvCommand([NtpClient], TPC_GetSamples) called.
150050 21:28:06.7343750s - NtpClient returned 0 samples.
150050 21:28:06.7343750s - W32TmServiceMain: waiting 1024.000s
150050 21:45:10.7500000s - W32TmServiceMain: timeout
150050 21:45:10.7500000s - TimeProvCommand([NtpClient], TPC_GetSamples) called.
150050 21:45:10.7500000s - NtpClient returned 0 samples.
150050 21:45:10.7500000s - W32TmServiceMain: waiting 1024.000s
150050 22:02:14.7656250s - W32TmServiceMain: timeout
150050 22:02:14.7656250s - TimeProvCommand([NtpClient], TPC_GetSamples) called.
150050 22:02:14.7656250s - NtpClient returned 0 samples.
150050 22:02:14.7656250s - W32TmServiceMain: waiting 1024.000s
Then, occasionally, you get one of these.
150051 09:07:34.2343750s - W32TmServiceMain: timeout
150051 09:07:34.2343750s - ClockDispln:150051 09:07:34.2343750s
- ClockDispln GoUnsyncd:150051 09:07:34.2343750s
- LI:3 S:0 RDl:0 RDs:0 TSF:0x0
150051 09:07:34.2343750s - Logging warning: The time service has not been able to
synchronize the system time for 49152 seconds because
none of the time providers has been able to provide a
usable time stamp. The system clock is unsynchronized.
150051 09:07:34.2343750s - W32TmServiceMain: waiting 17.359s
Which is unmitigated crap. What seems to happen, is there is a client and
a server task inside my computer, and most of the log is communications between
the two of them. Only occasionally, do you get a *real* update. This
is just after my machine, queries the external NTP server on the Internet.
150108 13:26:32.4375000s - | LocalClockOffset: -1082357700ns - 0:01.082357700s
If I search for all instances of that, I get these entries, indicating
my updates are every seven days. It's possible the anomalous one is a
manual update I did (I was probably booting several different OSes and
the time got screwed up by an hour).
150052 20:11:40.4375000s - | LocalClockOffset: -1145521900ns - 0:01.145521900s
150058 13:00:18.5000000s - | LocalClockOffset: -1501818200ns - 0:01.501818200s
150058 22:24:51.1875000s - | LocalClockOffset: 3598805868700ns - 59:58.805868700s
150065 22:53:26.4843750s - | LocalClockOffset: -2985654600ns - 0:02.985654600s
150072 22:53:20.4531250s - | LocalClockOffset: -1032776400ns - 0:01.032776400s
150079 22:53:20.6875000s - | LocalClockOffset: -1893180300ns - 0:01.893180300s
150086 22:53:20.7500000s - | LocalClockOffset: -1025953000ns - 0:01.025953000s
150094 03:28:31.9687500s - | LocalClockOffset: -1620500900ns - 0:01.620500900s
150101 10:12:05.5781250s - | LocalClockOffset: -1633556400ns - 0:01.633556400s
150108 13:26:32.4375000s - | LocalClockOffset: -1082357700ns - 0:01.082357700s
If you compare the Control Panel "last sync" time, against the log, you can
go back through the log to verify what it's doing.
What's interesting, is looking in Regedit, the "SpecialPollInterval" of
604800 seconds (one week) is recorded in the NtpClient section. As if
it's the client that triggers the external update. The "NtpServer"
doesn't have a special poll interval setting. The W32Time service has
an "UpdateInterval" setting of 360000 (100 hours), which doesn't seem
to be related to anything.
So after looking at the log, I'm not sure what the division of
responsibility is, between the "NtpServer" and "NtpClient".
Some of my registry settings can be seen here.
http://img225.imageshack.us/img225/245/ntpreg.gif
Paul