DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 825|回复: 0
打印 上一主题 下一主题

[待整理] 详细分析Linux系统计算机死机的故障原因

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-13 14:33:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
系统出现死机,一般分为两种情况:一是硬件问题;二是软件问题。

一、硬件问题

可以考虑分析以下几点:
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看看,或更换核心再试)
系统设置(恢复到缺省状态,关闭防火墙等)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-16 08:33 , 耗时 0.079585 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表