我们有六台服务器在运行几天后随机挂起。检查消息日志我观察到他们都有“clocksource tsc不稳定”然后“时间:acpi_pm clocksource已安装”。所有这些消息都发生在我们的一个应用程序调整系统时间的时刻,该应用程序偶尔会保持服务器时间与远程系统同步。在每种情况下,服务器都会在安装“acpi_am”时钟源后的几个小时内挂起。
我们使用 stime() 函数直接设置系统时间。
我是这种调试的新手,但我试图通过阅读 tsc.c 源代码来了解它。我们的内核版本是 2.6.23.8,cpu 是 Intel Core 2 Quad Q9400。
这是内核错误吗?还是 acpi_pm 时钟源有问题?
编辑 1:在 git log 搜索当前 Linux 内核树中与“clocksource”相关的所有新更改之后,结果发现关于时钟源的更改数量巨大。这看起来很难找到可能适用于我的问题的现有修复程序。
编辑 2:看起来我没有 HPET
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc acpi_pm jiffies
编辑 3:谢谢@thkala。“挂起”的描述:我仍然可以 ping 服务器。使用 telnet 我仍然可以探测到 21、80 等公共端口仍然打开。但是 SSH、VNC 会“挂起”(服务器没有响应)。将监视器连接到服务器,可以用鼠标光标看到 GUI,但屏幕只是冻结在同一画面上。连接usb光电鼠标到服务器,红灯闪烁一次,完全变暗。连接usb键盘,caplock numlock全部不亮。
编辑4:至于证据。@thkala 真的有一个很好的观点。在强制它们关闭并重新启动后,我检查了所有 5 台服务器的消息“挂起”问题,除了“clocksource tsc 不稳定”之外没有其他异常消息。“tsc”日志在特定的引导会话期间发生一次,并且在每种情况下,挂起都发生在安装“acpi_pm”时钟源之后。一些服务器运行了很多~16 天,在安装“acpi_pm”后的 1 到 13 小时内,服务器挂起。其他服务器没有显示此消息并且没有挂起..您是对的,这不是决定性的,但我一直在根据猜测朝这个方向进行挖掘..
有人对此有任何想法吗?