Ubuntuの時計は飛ぶが、時間はほぼ正確である

Ubuntuの時計は飛ぶが、時間はほぼ正確である

私のUbuntuサーバー

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:        22.04
Codename:       jammy
Linux lab01 6.5.0-26-generic #26~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Mar 12 10:22:43 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

timedatectl時間を同期するために使用します

理由はわかりませんが、時計が頻繁にジャンプします(超高速でカウントし、時間が間違っていることに気づき、少し戻ります)

dateこれは1が間に挟まれた2つのコマンドです

lab@lab01:~$ date
Mon Mar 25 02:25:24 PM CET 2024
lab@lab01:~$ date
Mon Mar 25 02:25:03 PM CET 2024

sudoはtimedatectl timesync-status高いジッターとオフセット値(数十秒)を示していますが、その理由がわかりません。

    Server: 162.159.200.1 (0.pool.ntp.org)
Poll interval: 32s (min: 32s; max 34min 8s)
         Leap: normal
      Version: 4
      Stratum: 3
    Reference: A0E080C
    Precision: 1us (-25)
Root distance: 9.864ms (max: 5s)
       Offset: -22.284696s
        Delay: 3.924ms
       Jitter: 10.223410s
 Packet count: 53
    Frequency: +0.000ppm

助言がありますか?

答え1

grubを少し修正すると再び動作するようになります

ファイルに/etc/default/grub追加する必要があるのtsc=nowatchdogGRUB_CMDLINE_LINUX_DEFAULT

保存して再起動すれば動作するはずです

答え2

仮想マシン内で実行していますか? そうであれば、これがクロック ジャンプの原因である可能性があります。仮想クロックは、システム クロックと比較して「フロート」します。仮想マシンと基盤となるホスト マシンのビジー状態によっては、このフロートにより仮想マシン クロックが物理クロックからずれる場合があります。定期的にこれを再同期する必要があり、その結果、仮想マシン内で「クロック ジャンプ」が発生します。

私は、PC 仮想化が登場し始めた数年前にこの問題に遭遇しました。高精度のタイミングが求められる分野で働いていたからです。仮想マシンのデータ セットは、物理マシンから生成されたタイミング レコードと非常に異なる特性を持っていることに気付きました。この問題の根本原因は、仮想マシンのフローティング システム クロックが再同期し、タイミング イベントのサブセットが開いている間に「ジャンプ」することであることがわかりました。物理ハードウェアではクロックはジャンプしないため、物理マシンのデータ セットの標準偏差は小さく、最大値 (および平均値、中央値など) は低くなります。

関連情報