Назад | Перейти на главную страницу

Почему мои внутренние часы всегда отстают на 1,3 секунды?

Я побежал w32tm /stripchart /computer:time.windows.com просто для удовольствия и выяснил, что мои часы на 1,3 секунды отстают от этого сервера времени. Не то чтобы я думаю, что Microsoft ошибается, но я пробовал это с различными другими серверами времени в моем городе, просто чтобы устранить возможные задержки в сети. Тот же результат.

Очевидный способ исправить это - принудительно выполнить повторную синхронизацию, поэтому я запустил w32tm /resync, но разница во времени сохранилась.

Когда я казнил w32tm /query /status чтобы выяснить причину этой проблемы, я был шокирован, узнав, что источником данных времени по умолчанию для моего компьютера был Local CMOS Clock и, видимо, никогда ни с чем не синхронизировался!

Я подумал, что понял, что происходит, и быстро добавил несколько серверов времени своим сверстникам, используя следующую команду: w32tm /config /manualpeerlist:ntp1.scc.kit.edu /syncfromflags:manual /reliable:yes /update.

Но даже после повторной синхронизации разница во времени осталась 1,3 секунды? Что не так?

Оказывается, w32time просто отстой. Microsoft признала, что

w32time не может надежно поддерживать время синхронизации в диапазоне от 1 до 2 секунд.

Отличные программисты ...

Я установил другую реализацию протокола NTP от Meinberg, компании, которая действительно знает, что делает: NTP Скачать

И бум: моя разница во времени мгновенно упала до нескольких мс.

23:43:23, d:+00.0135611s o:+00.6267124s
23:43:25, d:+00.0169653s o:+00.6379619s 
23:43:28, d:+00.0145823s o:+00.0086838s  <-- Exact moment the new NTP implementation was installed.
23:43:30, d:+00.0157926s o:-00.0037974s  

https://github.com/MicrosoftDocs/windowsserverdocs/issues/2065#issuecomment-544785547

Это то, что вам нужно сделать, чтобы иметь точное время в w32tm.

Итак, вам нужен HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Parameters \ NtpServer time.google.com, 0x5 time.cloudflare.com, 0x1 еще как минимум 2 (в вашей стране и в вашем местном IX или университете) https://gist.github.com/mutin-sa/eea1c396b1e610a2da1e5550d94b0453

Теперь сделайте это со всех вкладок https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/configuring-systems-for-high-accuracy?tabs=MaxPollInterval#registry-settings