linux 死机日志分析

所属分类: 操作系统 / unix linux 阅读数: 82
收藏 0 赞 0 分享
系统出现死机,一般分为两种情况:一是硬件问题;二是软件问题。 


一、硬件问题 


可以考虑分析以下几点: 


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

系统设置(恢复到缺省状态,关闭防火墙等) 
更多精彩内容其他人还在看

教你隐藏Linux的命令行历史

有的时候你可能不想让一些命令记录你的的命令行历史中,本文整理了多种方法让你可以参考。
收藏 0 赞 0 分享

怎样在Linux上录制你的终端操作及回放

在这次的文章中,我们将简单的了解一下如何在Linux上录制和回放终端会话及以gif格式记录的方法。
收藏 0 赞 0 分享

SUSE Linux登录出现黑屏解决方法

登录linux时出现黑屏的找到这篇解决SUSE的黑屏问题
收藏 0 赞 0 分享

个人学习Linux知识总结第1/4页

个人学习linux经常用到的小知识,方便大家以后查阅
收藏 0 赞 0 分享

Linux 下rename 命令的用法第1/2页

刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至有一部分人说linux下没有rename命令,建议大家用mv命令。鉴于此,于是man r
收藏 0 赞 0 分享

Centos 源

Centos操作说明
收藏 0 赞 0 分享

linux备份文件命令收集

收集一些linux下实现文件备份
收藏 0 赞 0 分享

Linux rdesktop操作系统下远程登录Windows XP桌面

众所周知XP下有"远程桌面连接"用来远程登录桌面,设置也非常简单。那有没有什么办法在linux下远程登录到XP呢?有。用rdesktop这个linux下的软件就能实现。
收藏 0 赞 0 分享

Linux操作系统添加新硬盘方法

linux下添加硬盘的方法
收藏 0 赞 0 分享

CentOS 5.1 4.6最新官方下载地址列表

最近公司接触到centos系统,于是找了下,不太容易找到,所以我直接把官方的下载地址,给贴出来了,方便以后下载
收藏 0 赞 0 分享
查看更多