Linux

timedatectl 對“同步”的定義是什麼?

  • May 10, 2022

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 伺服器的連接失去,系統將在什麼時候決定時鐘不再同步?

timedatectl使用org.freedesktop.timedate1D-Bus 介面查詢目前狀態。它從中輸出結果,具體含義可能會有所不同。

結果通常反映adjtimex. 如果您使用,如果成功並且報告的時間錯誤小於 16 秒timedated,則認為時鐘已同步。adjtimex如果您使用,如果成功並且報告的時間錯誤小於 10 秒timedatex,則認為時鐘已同步。adjtimex

檢查時間的頻率取決於您用於管理時間的服務(如果有)。

核心有一個標誌來指示時間不同步(STA_UNSYNC),但這也與“11 分鐘硬體同步”機制相關聯。因此,具有同步時鐘但已STA_UNSYNC設置的系統並不少見(請參閱上面連結的程式碼中的註釋)。

引用自:https://unix.stackexchange.com/questions/701996