timedatectl 对“同步”的定义是什么?

timedatectl 对“同步”的定义是什么?

timedatectl产生以下输出:

               Local time: Tue 2022-05-10 01:07:46 UTC
           Universal time: Tue 2022-05-10 01:07:46 UTC
                 RTC time: Tue 2022-05-10 01:07:46    
                Time zone: Etc/UTC (UTC, +0000)       
System clock synchronized: yes                        
              NTP service: active                     
          RTC in local TZ: no                         

我看到系统时钟与NTP同步,但是如何同步才“同步”呢?查询 NTP 的频率如何?如果与 NTP 服务器的连接丢失,系统将在什么时候判定时钟不再同步?

答案1

timedatectl使用org.freedesktop.timedate1D总线接口查询当前状态。它输出结果,具体含义可能有所不同。

结果通常反映返回的状态adjtimex。如果您使用的是timedated,则时钟为被认为是同步的如果adjtimex成功并且报告的时间误差小于16秒。如果您使用的是timedatex,则时钟为被认为是同步的如果adjtimex成功并且报告的时间误差小于10秒。

检查时间的频率取决于您用来管理时间的服务(如果有)。

内核有一个标志来指示时间不同步(STA_UNSYNC),但这也与“11 分钟硬件同步”机制相关。因此,具有同步时钟但已设置的系统并不罕见STA_UNSYNC(请参阅上面链接的代码中的注释)。

相关内容