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看看,或更换核心再试)
系统设置(恢复到缺省状态,关闭防火墙等)

安科瑞体育场馆用AAFD-DU型故障电弧探测器
关于RS422通信的干扰问题
如何给无线路由器加密
关于电力监控系统在综合加工厂房项目中的应用
iPhoneX中OLED屏幕容易烧屏,苹果表示不保修
Linux系统死机的软硬件问题分析
OLED拼接屏制作技术要点解析,助力商业展示效果升级
大数据对于工业制造企业的重要性
新大脑智慧停车管理系统的功能及应用优势分析
疑似OPPOR11曝光,颜值在线,或邀200万老婆的迪丽热巴代言
盛群半导体推出High PSRR LDO系列HT72BXX及HT78BXX
小米MIUI9最新消息:小米6、红米Note4X内测开启,MIUI9升级教程、升级攻略、注意事项
VSM生物传感器MAX30001的ecg通道输出不正常怎么解决呢?
《电动汽车传导充电电磁兼容性要求和试验方法》
德州仪器提供的LED照明在各领域的设计解决方案
DN150天然气流量计的参数与特点
德州仪器推出1.5W隔离式直流/直流偏置电源模块 UCC14240-Q1
参照军用设计标准,新款康提卡姆GP5单边带收音机
工控机的维护与使用技巧都有哪些
全球车规芯片最新进展和国产进口替代机会