除了定期重新載入 timesyncd 服務之外,是否有任何方法可以減少 systemd-timesyncd 的 ntp 同步週期?似乎 /etc/systemd/timesyncd.conf 中沒有可配置的變數。
答案1
這timesyncd 的源碼顯示輪詢間隔的自動調整,因此無法影響其行為。它旨在根據電腦的時鐘漂移來確定輪詢 NTP 伺服器的頻率。
當 timesyncd 調整你的時鐘時,它會這樣做非常逐漸地因為時間跳躍幾分鐘或幾小時會讓大多數應用程式感到困惑。在沒有電池支援的即時時鐘的電腦(例如 Beaglebone)上,啟動後日期為 1970 年 1 月 1 日。這些計算機需要像 ntpdate 這樣的東西在啟動時強制進行時間同步,之後 timesyncd 可以透過逐步調整來保持時間正常。
答案2
systemd v236(於2017年12月14日發布)新增了設定ntp輪詢間隔(同步週期)的選項。
來自變更日誌:
systemd-timesyncd 的設定檔獲得了一個新選項 RootDistanceMaxSec= 用於設定它將使用的伺服器的最大根距離,以及新選項 PollIntervalMinSec= 和 PollIntervalMaxSec= 用於調整最小和最大輪詢間隔。
PollIntervalMinSec
增加(預設 = 32)和PollIntervalMaxSec
(預設 = 2048)的值。