Windows 精密な時刻同期

時刻同期を細かく設定

強制的に時刻同期する場合、数秒以上ずれている場合に同期されます。
1秒以内のずれであれば同期しない設定になっているようです。

 

誤差1秒以内でも時刻同期する

(通常誤差1秒以内※であれば直ちに時刻同期しないslewモード)※誤差1.9秒以内

slewモードの有効範囲を変更する。

時刻が進みすぎている場合に時刻同期を行うと、急に時刻が後戻りして問題が発生することがあるので、Windows Timeサービスでも後戻りをしないように徐々に時刻を同期するslewモードという機能があり、何秒間時刻が進んでいる状態まで適用するかを変更することができる。
通常この設定時間以内のずれならばslewモードによって徐々に時間が変更されるが、この設定時間以上ずれていると、slewモードではなく、Step モードとして直ちに時刻が変更される。

 

レジストリキー
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config値の名前
MaxAllowedPhaseOffset
データ型
DWORD値の内容
1 (単位は秒 ワークグループ環境のデフォルト値)
slewモードの有効範囲を変更するためのレジストリ設定

値を1 から 0にする

 

上記値変更で誤差1秒以内でもslewモードではなく直ちに時刻が変更されるStep モードになります。

 

※更新
2017/05/01↓

Windows10

※値を「0」に変更してもWindowsの制限で1秒以内(未満)の誤差はslewモードになるようです。
現時点では1秒以内(未満)の誤差をstepモードにする方法はみつかりません。
(0.9秒などが含まれます)

暫定的な同期方法としては時刻誤差を2~3秒以上大きくし時刻同期すると直ちに同期されます。

 

※更新
2018/04/17↓

Windows10最新

上記キー[MaxAllowedPhaseOffset]の値
1(デフォルト値)の場合は、1秒台(1.0秒~1.9秒)の認識となりslewモードの範囲です。誤差2.0秒以上の場合にStepモードで同期します。

0に変更するとslewモードの範囲が0~0.9秒の認識となり誤差1.0秒以上であれば、Step モードで同期するようです。

 

現時点では誤差が0.9秒以内の場合にstepモードで同期する方法はみつかりません。