使用w32tm / stripchart来判断两个Windows主机之间的时间差异是
使用w32tm.exe的选项条形图来判断两台主机的时间差异(在很小的误差范围内)是否可行?请注意,w32tm.exe的条带图功能与
Windows时间服务本身使用的算法是分开的.
如果没有,有什么替代方法? 谢谢, 马特
您的第一个问题的答案是“是的,w32tm.exe(Windows时间)能够在非常小的误差范围内(相对术语)测量两个网络主机的时间差异.”
第二个问题的答案是“是的,有更好的方法来衡量两个主机之间的时间差异.微软说得对here.他们指向NIST,其中列出了一大堆其他软件(和硬件).可能比w32tm.exe好.我相信很多都是,因为微软显然不支持w32tm.exe作为超高精度工具.“ Windows时间(和w32tm.exe)符合RFC 1305(NTPv3),包括补偿网络延迟.补偿网络延迟是网络时间协议的基本特征之一. (参见Marzullo的算法,这是NTPv3使用的算法.) 让我对你的问题感到沮丧的是,高精度对你来说非常重要,但是你没有给出任何关于你需要精确精度的提示. 1秒? 1毫秒? 1纳秒?通用计算机的时钟分辨率与处理器接收的时钟中断频率相关,通常由运行在32.768 KHz(功率为2)的晶体振荡器控制,但这对温度,电压等敏感. .典型Windows机器上的HAL默认配置实时时钟每15.6毫秒启动一次,或大约每秒64次.但是,您仍然可以将RTC调低至1ms,您还可以通过软件将该15.6毫秒时间片细分为更小的片段,以实现高性能应用.无论如何,NTP时间戳本身是一个64位无符号定点数,因此理论上的限制大约为232皮秒的精度,但Windows时间实现甚至没有接近. Windows时间显示的NTP精度为-6,并且不支持某些最新和最好的NTP算法,因此实际上它可能永远不会产生比一个硬件时钟滴答或正负16毫秒更精确的精度. 通用操作系统不是非常好的时钟,特别是如果在用户模式下实现时间保持算法,其中执行线程不断被抢占.高精度时钟很贵. 上图是系统上时钟中断的频率.请注意,即使是时钟中断(32位Windows上的IRQL 28和64位Windows上的IRQL 13)也可以被更高的中断(例如处理器间中断)抢占,并且即使是通过纳秒. 所以回到NTP. w32tm / stripchart /computer:10.0.1.8是测试一台Windows机器与另一台机器之间的时间差异的完美有效方法.它确实考虑了网络延迟,正如我们上面讨论的那样,它与NTPv3兼容.但是不要相信我的话.您可以在Wireshark跟踪(w32tm.exe发送到Windows NTP服务器的客户端数据包)中查看自己的事务: Microsoft不保证使用Windows Time的亚秒精度,因为他们不需要支持它以使其任何产品都能正常工作.但是,这并不意味着w32tm.exe仍然不具备亚秒精度. 如果你确实需要比这更准确的时间,你可能会使用另一种使用稍微不同的算法的NTP实现额外的毫秒或10精度.但如果你真的需要更准确的时间,我个人根本不会建议NTP.我将铯钟直接连接到您的机器上,而不是使用先发制人的操作系统. 编辑5/2/2017:上述信息已过期,不一定适用于Windows Server 2016及更高版本. Microsoft在以后的操作系统中对Windows Time的准确性做了一些重大改进. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows下mysql5.6升级到5.7的方法(亲测有效哦!)
- 诊断Windows应用程序清单
- windows-7 – Windows 7的自定义文件夹字段
- wpf – Windows 8中的屏幕保护程序预览有什么不同?
- windows-phone-7 – 更改PivotItem标头模板?
- windows – 我应该将所有服务器都放入我的域名吗?
- windows – 如何在命令行上从SVN签出已删除的项目
- windows-server-2003 – 如何在登录Windows服务器时显示上次
- 用于在Windows上进行符号链接转换的Git挂钩
- windows – Mac OS X上的/ proc / self / cmdline / GetCom