Windows 时钟同步
问题引入
很多程序涉及到时间对齐、时间有序,主机和主机之间的时间差变大(即累计误差)会导致程序中的数据无法正确获取。
📌 查看时间差网页:https://time.is/
为避免主机和主机之间的时间差值变大,应调整时钟同步周期和对齐同一个时钟源(Windows 默认时钟源:time.windows.com
)。
解决过程
方式1:命令行同步本地时间
在Windows系统时钟同步服务是:w32tm
,执行该服务的cmd权限要上升至管理员,否则命令执行失败。
Windows系统默认将时钟同步制作为后台服务w32tim,如下图:
将服务的 启动类型(E)设置为自动并启动该服务,接着cmd(管理员权限)执行命令:w32tm /resync
,即可立即同步本地时间
方式2:修改注册表
在 specialPollInterval
的值设置为 3600(十进制) ,即执行周期为1小时。然后将 w32tm服务的启动类型(E)设置为自动并启动该服务。重启主机后,主机每过一个小时便会自动同步时间
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
两次同步时间截图(截图前后并未间隔1小时,而是过来很长时间才想起来截图对比),但从同时时间戳的规律可以验证同步时间周期确实是1小时
反思总结
本次在Hyper-V虚拟机上测试,需要在Hyper-V中的集成服务中关闭 时间同步
,否则时钟源不是 time.windows.com
.
参考引用
winodws同步时间命令