我有时在 ping 8.8.8.8 时会收到以下奇怪的警告消息(发生率很低)。您知道根本原因吗?
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=111 time=256 ms
ping: Warning: time of day goes back (-203756us), taking countermeasures
ping: Warning: time of day goes back (-203647us), taking countermeasures
答案1
以前我在 AMD 类型的处理器上也遇到过这种情况,其中时钟源不在 CPU 之间共享(它是jiffies
为我设置的)。
由于其中一个 CPU 比另一个 CPU 快几个 jiffy,因此当进程在 CPU 之间移动并比较时间时,会导致时间倒退。
尝试将时钟源设置为tsc
、hpet
或acpi_pm
(按此顺序),因为这些时钟源往往在 CPU 之间共享。
$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
$ echo 'hpet' > /sys/devices/system/clocksource/clocksource0/current_clocksource
或者,您可能对时间同步有一个激进的步进策略(实际上不应该在启动后发生)。提供/etc/ntp.conf
或的输出/etc/chrony.conf
以获得更多见解。