為什麼我的內在時鐘總是慢 1.3 秒?

為什麼我的內在時鐘總是慢 1.3 秒?

w32tm /stripchart /computer:time.windows.com只是為了好玩而跑步,結果發現我的時鐘比這個時間伺服器晚了 1.3 秒。並不是說我認為微軟錯了,而是我在我所在城市的各種其他時間伺服器上嘗試了它,只是為了消除潛在的網路延遲。相同的結果。

解決此問題的明顯方法是強制重新同步,因此我運行了w32tm /resync,但時間差仍然存在。

當我執行w32tm /query /status找出導致此問題的原因時,我震驚地發現我的電腦的預設時間資料來源Local CMOS Clock顯然從未與任何內容同步!

我以為我已經弄清楚發生了什麼,並使用以下命令快速向我的同行添加了一些時間伺服器:w32tm /config /manualpeerlist:ntp1.scc.kit.edu /syncfromflags:manual /reliable:yes /update

但即使再次重新同步後,時間差仍維持在 1.3 秒?出了什麼問題?

答案1

事實證明 w32time 簡直糟透了。微軟承認

w32time 無法可靠地將同步時間維持在 1 到 2 秒的範圍內。

各位好軟體啊...

我安裝了來自 Meinberg 的 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  

答案2

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

答案3

w32tm 服務允許同步 PC 和時間伺服器時間之間的時間差僅在 1 秒以內。或者,您可以強制它在每次檢查時始終與時間伺服器同步,無論時差如何。要檢查的值是 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config 中的登錄項目“MaxAllowedPhaseOffset”

若要強制其始終同步,請將此值設為 0。

但首先檢查該值是否在您想要的值範圍內。一些系統需要留出更多的時差。另外,請注意在w32tm 文檔在發現需要時間同步後(即差異大於 MaxAllowedPhaseOffset),w32tm 將立即或逐漸更改時間。

相關內容