在 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.
系统在 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.
时钟源:
$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc
最后,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
问题似乎与
clocksource
,检查available_clocksource
:基于对“时钟源 tsc 不稳定”的回答是什么意思?看起来TSC(时间戳计数器)不是很可靠。
通过更新
/etc/default/grub
,您可以切换到另一个可用的时钟源。我正在使用HPET。并更新 grub:
重新启动后
hwclock
再次工作(只需重新启动而不进行任何修改可能也有帮助 - 这可能只是多长时间的问题)。注意:最佳时钟源可能取决于您的主板和 CPU 型号。
对我来说,修复只是在命令前输入“sudo”,因为“无法访问”实际上意味着它没有访问 /dev/rtcX 的权限。使用 sudo 运行它,通过赋予它 root 权限来修复它。您的解决方案只是运行
sudo hwclock --show
而不是hwclock --show
在虚拟机上运行。
su - //afswitch root.run hwclock