快速业务通道

分析Linux系统计算机死机的故障原因

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-05
系统出现死机,一般分为两种情况:一是硬件问题;二是软件问题.
 
  一、硬件问题
 
  可以考虑分析以下几点:
 
  1、不要超频CPU,如果已经超频的先回复到原来的频率
 
  虽然平时运行没有问题,但可能在高负载的使用中就会出现不可预料的故障了.特别是linux系统在某些应用上,是可以把硬件的性能发挥到极限的,但这样的硬件运行Windows可能是没有问题的.
 
  2、确认电源供电充足
 
  确保在高负载的状态下,电源可以满足负载.
 
  3、使用memtest86检查内存状态
 
  4、恢复BIOS到默认状态
 
  对于服务器,可以使用自带的监测工具进行测试,也是一个不错的排错方法.
 
  二、软件问题
 
  如果已经基本排除硬件问题,那我们就考虑从软件上去获得死机状态的系统信息了.
 
  1、运气足够好的话,系统死机不一定是完全死掉(此时键盘可能还能响应),那我们就可以使用Sysrq大法.
 
  前提是我们先打开sysrq功能:
 
  #echo "1" > /proc/sys/kernel/sysrq
 
  #setterm -blank
 
  这样,当系统出现问题的时候,我们可以使用:
 
  引用
 
  Alt Sysrq-T 获得进程系统堆栈信息
 
  Alt Sysrq-M 获得内存分配信息
 
  Alt Sysrq-W 获得当前寄存器信息
 
  更多的热键可以参考系统上的/usr/src/linux/Documentaion/sysrq.txt
 
  其中,setterm -blank可以关闭字符下定时黑屏保护,方便记录屏幕信息.
 
  2、为了让屏幕显示更多的内核调试信息,可以修改控制台的显示模式为80x25,在/boot/grub/menu.lst中对应的kernel一行,增加vga=0x305,如:
 
  引用
 
  kernel /boot/vmlinuz-2.4.21-9.30AXsmp ro root=/LABEL=/1 vga=0x305
 
  3、万一键盘也不幸死掉了,那我们只能采用串口方式,把系统信息发送到另一台系统上,方法:
 
  修改/boot/grub/menu.lst文件,在kernel一行增加核心参数"console=ttyS0 console=tty1",如:
 
  引用
 
  kernel /boot/grub/vmlinuz-2.4.21-9.30AXsmp ro root=/LABEL=/1 console=ttyS0 console=tty1
 
  然后,修改/etc/sysconfig/syslog,加入klogd选项"-c 7",如:
 
  引用
 
  KLOGD_OPTIONS="-x -c 7"
 
  重启服务器;进行测试:
 
  1)使用串口直连线连接客户机和服务器,在客户机上运行:
 
  cat /dev/ttyS0
 
  服务器上运行:
 
  echo hi > /dev/ttyS0
 
  如果客户机有"hi"输出即可.
 
  2)服务器上运行:
 
  echo w > /proc/sysrq-trigger
 
  看看客户机上是否有相应的内核信息输出
 
  3)服务器上运行:
 
  modprobe loop
 
  看看客户机上是否有相应的内核信息输出
 
  如果测试都通过的话,那么在客户机上运行:
 
  cat /dev/ttyS0 | tee /tmp/result
 
  当死机出现的时候,我们就可以从客户机上看到需要的内核信息了(查看/tmp/result).
 
  三、总结
 
  一般造成Linux系统死机的原因有:
 
  系统硬件问题(SCSI卡,主板,RAID卡,HBA卡,网卡,硬盘等)
 
  外围硬件问题(网络等)
 
  软件问题(系统、应用软件)
 
  驱动bug(找新的驱动)
 
  核心系统bug(到LKML看看,或更换核心再试)
 
  系统设置(恢复到缺省状态,关闭防火墙等)
 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号