【问题标题】:system hang with possible relevance to "clocksource tsc unstable"?系统挂起可能与“时钟源 tsc 不稳定”有关?
【发布时间】:2012-12-10 07:54:22
【问题描述】:

我们有六台服务器在运行几天后随机挂起。检查消息日志,我观察到它们都有“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 内核树中与“时钟源”相关的所有新更改后,结果发现时钟源有大量更改。这看起来很难找到可能适用于我的问题的现有修复程序。

编辑 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 小时内,服务器挂起。其他服务器没有显示此消息,也没有挂起..您是对的,这不是决定性的,但我一直在根据推测朝这个方向进行挖掘..

有人知道这个吗?

【问题讨论】:

  • 您的内核版本很古老,这可能是问题的一部分……为了更有帮助,我不久前在 Core 1 上也遇到过这个问题(“clocksource tsc 不稳定”问题)并且必须在内核命令行中添加“notsc”。
  • 您系统上的“正确”时钟源应该是 HPET(我猜),是内核内置的吗?
  • 感谢@filmor 的提示。

标签: linux linux-kernel


【解决方案1】:

(我不太喜欢通过水晶球进行调试,但我会试一试......)

注意几点:

  1. 您没有在问题的上下文中指定 "hung" 的确切含义。内核是否完全停止 - 还是只是您的应用程序?它会达到 100% CPU 并留在那里吗?它对任何刺激都有反应吗?出现问题时是否有任何相关的控制台消息?

  2. 您没有提到您最终是如何将时钟和计时系统作为您的嫌疑人的 - “在几个小时内” 并不是完全可靠的证据。您是否排除了硬件问题(包括电源波动)?您还排除了什么以及为什么?

  3. 不稳定的时钟源比你想象的更常见——来自我自己的系统:

    kernel: Marking TSC unstable due to TSC halts in idle
    
  4. 您使用的是非常旧的内核 - 已经有几个与时间调整时内核锁定相关的修复,例如现在著名的June 30, 2012 leap second issue

  5. 您似乎正在遭受NIH syndrome 的困扰 - 使用自定义应用程序进行时间同步而不是 NTP 听起来像是灾难的秘诀......

【讨论】:

  • 我真的认为没有人能准确指出这有什么问题。感谢您的提示并立即标记您的答案。 :D
猜你喜欢
  • 2015-10-11
  • 2015-07-12
  • 1970-01-01
  • 2022-12-15
  • 1970-01-01
  • 2020-09-03
  • 2015-06-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多