Tom*_*art 5 debian time-synchronization clock-synchronization
在 Debian 服务器上,我遇到了以下问题hwclock
:
$ hwclock --show
hwclock: Cannot access the Hardware Clock via any known method.
hwclock: Use the --debug option to see the details of our search for an access method.
Run Code Online (Sandbox Code Playgroud)
系统在 backports 内核上运行Debian 4.9.18-1~bpo8+1 (2017-04-10)
。
这是调试输出:
$ hwclock --debug
hwclock from util-linux 2.25.2
hwclock: cannot open /dev/rtc: Device or resource busy
No usable clock interface found.
hwclock: Cannot access the Hardware Clock via any known method.
Run Code Online (Sandbox Code Playgroud)
时钟源:
$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc
Run Code Online (Sandbox Code Playgroud)
最后,rtc
设备存在:
$ ls -l /dev/rtc*
lrwxrwxrwx 1 root root 4 Apr 29 16:41 /dev/rtc -> rtc0
crw------- 1 root root 253, 0 Apr 29 16:41 /dev/rtc0
Run Code Online (Sandbox Code Playgroud)
问题似乎与以下内容有关clocksource
,请检查available_clocksource
:
$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource\ntsc hpet acpi_pm\n
Run Code Online (Sandbox Code Playgroud)\n\n基于对“\xe2\x80\x9cclocksource tsc不稳定\xe2\x80\x9d是什么意思?”的回答 看起来TSC(时间戳计数器)不太可靠。
\n\n通过更新,/etc/default/grub
您可以切换到另一个可用的时钟源。我正在使用HPET。
GRUB_CMDLINE_LINUX_DEFAULT="clocksource=hpet"\n
Run Code Online (Sandbox Code Playgroud)\n\n并更新 grub:
\n\nupdate-grub2\n
Run Code Online (Sandbox Code Playgroud)\n\n重新启动后hwclock
再次工作(只需重新启动而不进行任何修改也可能有帮助 - 这可能只是多长时间的问题)。
注意:最佳时钟源可能取决于您的主板和 CPU 型号。
\n