¿Por qué mi reloj interno siempre tiene 1,3 segundos de retraso?

¿Por qué mi reloj interno siempre tiene 1,3 segundos de retraso?

Corrí w32tm /stripchart /computer:time.windows.comsólo por diversión y descubrí que mi reloj está 1,3 segundos por detrás de este servidor de tiempo. No es que crea que Microsoft esté equivocado, pero lo probé con varios otros servidores de tiempo en mi ciudad sólo para eliminar posibles retrasos en la red. Mismo resultado.

La forma obvia de solucionar este problema sería forzar una resincronización, así que ejecuté w32tm /resync, pero la diferencia horaria persistió.

Cuando ejecuté w32tm /query /statuspara descubrir qué estaba causando este problema, me sorprendió descubrir que la fuente de datos de tiempo predeterminada para mi computadora estaba Local CMOS Clocky aparentemente nunca ha estado sincronizada con nada.

Pensé que había descubierto lo que estaba pasando y rápidamente agregué algunos servidores de tiempo a mis pares usando el siguiente comando: w32tm /config /manualpeerlist:ntp1.scc.kit.edu /syncfromflags:manual /reliable:yes /update.

Pero incluso después de otra resincronización, ¿la diferencia de tiempo se mantuvo en 1,3 segundos? ¿Qué está pasando mal?

Respuesta1

Resulta que w32time simplemente apesta. Microsoft admitió que

w32time no puede mantener de manera confiable el tiempo de sincronización en el rango de 1 a 2 segundos.

Excelente software chicos...

Instalé una implementación diferente del protocolo NTP de Meinberg, una empresa que realmente sabe lo que está haciendo:Descarga NTP

Y boom: mi diferencia horaria se redujo instantáneamente a solo unos pocos ms.

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  

Respuesta2

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

Eso es lo que debes hacer para tener la hora precisa en w32tm.

Entonces, necesita HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer time.google.com,0x5 time.cloudflare.com,0x1 al menos 2 más (en su país y en su IX o Universidad local)https://gist.github.com/mutin-sa/eea1c396b1e610a2da1e5550d94b0453

Ahora haz esto desde todas las pestañas. https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/configuring-systems-for-high-accuracy?tabs=MaxPollInterval#registry-settings

Respuesta3

El servicio w32tm permite sincronizar la hora solo dentro de 1 segundo de diferencia entre la hora de la PC y la del servidor de hora. Alternativamente, puede forzarlo a sincronizarse siempre con el servidor horario en cada verificación, independientemente de la diferencia horaria. El valor a verificar es la entrada del registro "MaxAllowedPhaseOffset" en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

Para forzar que se sincronice siempre, establezca este valor en 0.

Pero primero verifique que este valor esté dentro del valor deseado.Algunos sistemasEs necesario permitir una mayor diferencia horaria. Además, tenga en cuenta en eldocumentación w32tmque después de que se requiere una sincronización de tiempo (es decir, la diferencia es mayor que MaxAllowedPhaseOffset), w32tm cambiará la hora de forma instantánea o gradual.

información relacionada