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

发布时间:2010-9-24 18:47    发布者:eetech
关键词: linux , 故障 , 计算机 , 死机
系统出现死机,一般分为两种情况:一是硬件问题;二是软件问题。  

一、硬件问题  

可以考虑分析以下几点:  

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看看,或更换核心再试)  

系统设置(恢复到缺省状态,关闭防火墙等)
本文地址:https://www.eechina.com/thread-28804-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表