RHEL5 工作站经常出现系统故障

RHEL5 工作站经常出现系统故障

我的 RHEL5 工作站最近开始出现“故障”。大约每三十秒,它就会完全停止执行约 4 秒钟。在此期间似乎什么都没有运行。长期进程似乎赶上了它们的输入,但新进程根本无法启动。

具体例子:

  • 我在 shell 中运行这个循环:

    while date; do
       sleep 0.2
    done
    

    输出仅仅跳过丢失的秒数:

    Fri Aug 13 15:20:29 EDT 2010
    Fri Aug 13 15:20:29 EDT 2010
    Fri Aug 13 15:20:29 EDT 2010
    Fri Aug 13 15:20:30 EDT 2010
    Fri Aug 13 15:20:30 EDT 2010
    Fri Aug 13 15:20:30 EDT 2010
    Fri Aug 13 15:20:30 EDT 2010
    Fri Aug 13 15:20:34 EDT 2010
    Fri Aug 13 15:20:34 EDT 2010
    Fri Aug 13 15:20:35 EDT 2010
    Fri Aug 13 15:20:35 EDT 2010
    Fri Aug 13 15:20:35 EDT 2010
    
  • 如果在终端(本地控制台或通过 ssh 或 telnet 进行远程输入)中输入内容,echoback 会在无响应时间内暂停,但当它再次开始响应时就会恢复,显然没有输入丢失,只是滞后。

  • ping在无响应时间内没有得到答复,但回来时会得到答复:

    64 bytes from xxx: icmp_seq=1911 ttl=64 time=0.203 ms  
    64 bytes from xxx: icmp_seq=1912 ttl=64 time=0.199 ms  
    64 bytes from xxx: icmp_seq=1913 ttl=64 time=3202 ms  
    64 bytes from xxx: icmp_seq=1914 ttl=64 time=2196 ms  
    64 bytes from xxx: icmp_seq=1915 ttl=64 time=1197 ms  
    64 bytes from xxx: icmp_seq=1916 ttl=64 time=195 ms  
    64 bytes from xxx: icmp_seq=1917 ttl=64 time=0.201 ms  
    64 bytes from xxx: icmp_seq=1918 ttl=64 time=0.206 ms
    

    这似乎意味着它实际上在无响应期间接收输入,因为那些 ICMP 数据包没有被重新传输。

  • vmstat 1输出也延迟了,但没有赶上。就好像那几秒钟没有发生一样。它还显示等待进程的数量有所增加,中断和上下文切换的数量有所下降:

    procs -----------memory----------  ---swap-- -----io---- --system-- -----cpu------
     r  b   swpd   free   buff  cache    si   so    bi    bo    in   cs us sy  id wa st
     0  0    132 3111220 305540 588012    0    0     0     0  1035  151  1  1  99  0  0
     0  0    132 3111096 305540 588012    0    0     0     0  1019  125  0  0  99  0  0
     0  0    132 3111220 305540 588012    0    0     0    44  1034  154  0  1  99  0  0
     1  0    132 3111096 305540 588012    0    0     0     0  1016  131  0  0  99  0  0
     6  0    132 3111096 305540 588012    0    0     0     0   417   82  0  0 100  0  0
     0  0    132 3111220 305540 588012    0    0     0     0  1041  155  0  1  99  0  0
     0  0    132 3111096 305540 588012    0    0     0     0  1019  123  1  1  99  0  0
     0  0    132 3111220 305540 588012    0    0     0     0  1032  142  0  1  99  0  0
     0  0    132 3111096 305544 588008    0    0     0    44  1019  134  0  0  99  0  0
    

重启可以让问题暂时消失。最近一次花了六天才恢复。我不确定这是否一致。

我最初怀疑问题可能与 nVidia 视频驱动模块有关,但我关闭了 X Windows 并删除了该模块,但症状并没有改变。

dmesg 或 /var/log/messages 中没有任何内容与故障相关或以任何方式与故障相吻合。这似乎不是硬盘的问题,因为如果是硬盘问题,我预计 iowait 会在无响应期间突出,但事实并非如此。这不太可能是硬件问题,因为故障非常有规律。我无法将它们计时到毫秒,但它是一个相当一致的 30/4/30/4/30/4。

有任何想法吗?

答案1

我的钱还是花在硬盘故障上。我的个人 Windows 台式机也发生过类似的事情。甚至一台旧的 Sun 机器也出现过类似的冻结问题。但是,我不会声称我对这个问题进行了深入研究,以注意到休眠外壳中的秒数下降。无论如何,您可能想看看是否可以从 RAID 控制器中获取任何信息,或者以其他方式排除硬盘。

答案2

我的服务器也出问题了。我找到了这个工具:http://www.latencytop.org/。不幸的是,我的打嗝并不经常发生。

相关内容