这是我昨天的问题的后续,链接如下。
我有一台 Fedora 10 机器。当它刚刚重启时,它计时非常准确。我通过输入 date、然后输入、等待大约一秒钟、向上箭头、输入等来测试它,看看秒数是否随着我感知到的每一秒增加 1。所以,它似乎有效。在未来的某个时间,14-48 小时后,我注意到电子邮件上的时间戳不正常。新电子邮件的日期是 6 小时前。我登录到机器,执行 date/向上箭头/重复操作,现在秒数增加一需要 4-10 秒。
有人建议使用 ntpd。我昨天这样做了,但今晚时间又搞错了。ntpd 仍在运行。重新启动 ntpd 没有任何效果。关闭 ntpd,然后运行 ntpdate 将日期同步到正确的时间,但秒数仍然没有每秒增加一。我真的不知道是什么对我的系统造成了这种影响。任何建议都非常感谢。我不想运行重新启动作为 cron 作业来解决这个问题,那样我就永远得不到任何正常运行时间的吹嘘权了。
昨天的帖子: Linux 系统时间膨胀
感谢您的阅读和帮助。
答案1
听起来问题不在于您的机器,而在于 Linux 所依赖的计时系统。尝试使用内核命令行参数,例如clocksource=hpet
。其他常见来源是 tsc 和 acpi_pm。
最后,尝试notsc
内核命令行参数。
答案2
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
输出是什么?您可以尝试使用内核启动选项更改时钟源,也可以尝试使用 notsc 选项完全禁用它。
无论如何,这听起来确实像是硬件故障
答案3
当它变坏时您可以运行 vmstat 吗?
$ vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
4 0 56464 557284 289208 2132264 0 0 3 16 24 15 16 5 79 0
0 0 56464 557508 289208 2132264 0 0 0 14 1146 2111 9 4 88 0
1 0 56464 557540 289208 2132264 0 0 0 0 1170 2167 5 4 91 0
0 0 56464 557172 289208 2132264 0 0 0 29 1213 2325 7 6 88 0
2 0 56464 557876 289208 2132264 0 0 0 31 1261 2644 10 6 83 0
查看“in”列以查看中断。我曾见过损坏的硬件导致大量中断,这可能意味着您之前无法获得时钟更新。
尝试从“Knoppix” CD 启动它并放置一会儿。时钟是否仍然出错?