如何获取 systemd-timesyncd 的时钟精度

如何获取 systemd-timesyncd 的时钟精度

我正在尝试使用 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 时钟。

相关内容