我正在尝试使用 systemd-timesyncd 确定我的时钟同步的准确度。我运行了以下命令,但有很多信息,并且不清楚准确度是多少。
% timedatectl timesync-status
Server: 209.115.181.106 (2.nixos.pool.ntp.org)
Poll interval: 34min 8s (min: 32s; max 34min 8s)
Leap: normal
Version: 4
Stratum: 2
Reference: CE6C0083
Precision: 1us (-25)
Root distance: 17.973ms (max: 5s)
Offset: +7.343ms
Delay: 57.966ms
Jitter: 2.767ms
Packet count: 41
答案1
这些就是 NTP 统计数据。有关 NTP 算法,请参阅 RFC 5905,或NTP 文档中的性能页面。
大约而言,您的 NTP 服务器的延迟 (延迟) 相差数十毫秒,估计比参考时钟 (根距离) 偏移 20 毫秒略好。正负一位数的毫秒 (抖动)。
通过互联网,这种高延迟是相当明显的,甚至在通过 观察 NTP 池的使用情况之前也是如此2.nixos.pool.ntp.org
。
想想这对你来说是否可以接受。你是否需要保持系统之间的时间差小于 1 毫秒?你是否需要与参考时钟进行比较,即使互联网中断?如果需要,可以采取以下措施来做得更好:
- 在更靠近节点的本地网络上运行您自己的 NTP 时间服务。
- 委托给本地虚拟机管理程序。例如,Google Cloud 元数据服务提供 NTP,Azure(和 Hyper-V)平台提供 PTP 时钟。