Warum geht meine innere Uhr immer 1,3 Sekunden falsch?

Warum geht meine innere Uhr immer 1,3 Sekunden falsch?

Ich habe es w32tm /stripchart /computer:time.windows.comeinfach mal aus Spaß ausprobiert und festgestellt, dass meine Uhr 1,3 Sekunden hinter diesem Zeitserver hinkt. Nicht, dass ich glaube, Microsoft liegt falsch, aber ich habe es mit verschiedenen anderen Zeitservern in meiner Stadt probiert, um mögliche Netzwerkverzögerungen auszuschließen. Dasselbe Ergebnis.

Die naheliegende Möglichkeit, dies zu beheben, wäre, eine erneute Synchronisierung zu erzwingen. Also habe ich ausgeführt w32tm /resync, aber der Zeitunterschied blieb bestehen.

Als ich w32tm /query /statusnach der Ursache dieses Problems suchte, stellte ich schockiert fest, dass die Standard-Zeitdatenquelle meines Computers Local CMOS Clockoffenbar nie mit irgendetwas synchronisiert wurde und auch nie zuvor!

Ich dachte, ich hätte herausgefunden, was los war, und fügte mit dem folgenden Befehl schnell ein paar Zeitserver zu meinen Peers hinzu: w32tm /config /manualpeerlist:ntp1.scc.kit.edu /syncfromflags:manual /reliable:yes /update.

Aber auch nach einer erneuten Synchronisation blieb der Zeitunterschied bei 1,3 Sekunden? Was läuft da schief?

Antwort1

Es stellte sich heraus, dass w32time einfach Mist ist. Microsoft gab zu, dass

w32time kann die Synchronisierungszeit nicht zuverlässig im Bereich von 1 bis 2 Sekunden halten.

Tolle Software, Leute ...

Ich habe eine andere Implementierung des NTP-Protokolls von Meinberg installiert, einer Firma, die tatsächlich weiß, was sie tut:NTP herunterladen

Und bumm: Mein Zeitunterschied verringerte sich augenblicklich auf nur wenige 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  

Antwort2

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

Das müssen Sie tun, um in w32tm die genaue Zeit zu erhalten.

Sie benötigen also HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer time.google.com,0x5 time.cloudflare.com,0x1 mindestens 2 weitere (in Ihrem Land und in Ihrem lokalen IX oder Ihrer Universität).https://gist.github.com/mutin-sa/eea1c396b1e610a2da1e5550d94b0453

Machen Sie das jetzt von allen Tabs aus https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/configuring-systems-for-high-accuracy?tabs=MaxPollInterval#registry-settings

Antwort3

Der w32tm-Dienst erlaubt die Synchronisierung der Zeit nur innerhalb einer Sekunde Unterschied zwischen der Zeit des PCs und des Zeitservers. Alternativ können Sie ihn zwingen, bei jeder Überprüfung unabhängig von der Zeitdifferenz immer mit dem Zeitserver zu synchronisieren. Der zu prüfende Wert ist der Registrierungseintrag „MaxAllowedPhaseOffset“ in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

Um eine permanente Synchronisierung zu erzwingen, setzen Sie diesen Wert auf 0.

Prüfen Sie aber zunächst, ob dieser Wert innerhalb Ihres Wunschwertes liegt.Einige Systememüssen mehr Zeitunterschiede berücksichtigen. Beachten Sie auch in derw32tm-Dokumentationdass w32tm die Zeit entweder sofort oder schrittweise ändert, nachdem festgestellt wurde, dass eine Zeitsynchronisierung erforderlich ist (d. h. die Differenz ist größer als der MaxAllowedPhaseOffset).

verwandte Informationen