Linux 机器时间膨胀,第 2 部分

Linux 机器时间膨胀,第 2 部分

这是我昨天的问题的后续,链接如下。

我有一台 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 启动它并放置一会儿。时钟是否仍然出错?

相关内容