首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>系统管理>系统管理>正文

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

http://www.oklinux.cn  2008-01-25  来源: 赛迪网 sixth  会员收藏  游客收藏  【 】 

系统出现死机,一般分为两种情况:一是硬件问题;二是软件问题。

一、硬件问题

可以考虑分析以下几点:

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

系统设置(恢复到缺省状态,关闭防火墙等)


上一篇:详细讲解安装配置Jboss的方法   下一篇:Java 理论和实践:用软引用阻止内存泄漏


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·详细讲解安装配置Jboss的方法
·系统管理:修复Linux系统的Root密码
·利用U盘加载控制器驱动来安装Linux系统
·Ext3和Reiserfs文件系统占用空间的比较
·Root用户以telnet方式登录Linux系统
·如何来清除Linux系统命令的历史记录
·使用Linux Fdisk命令调整磁盘的分区结构
·Centos 5.1安装NTFS读写支持
·Ubuntu Linux系统下Apache SSL配置方法
·Suse Linux安装Ntfs-3g支持NTFS分区读写
·Ubuntu Linux系统中安装VirtualBox方法
·在Centos5下安装配置VNC的方法详细介绍
·Ubuntu Linux 6.06 LTS下安装Samba服务
·Fedora Linux 8配置SAMBA服务的详细过程
·Linux系统下的休眠与待机
·Linux系统下挂载SAN资源
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·在Linux系统下如何调整文件打开方式
·如何在Linux系统下更改文件使用权限
·如何在Linux系统下创建ISO镜像文件
·Linux系统下如何破解PHP加密dezend软件
·Linux下恢复EXT3 Superblock的正确方法
·学习园地:Linux系统的内存管理指南
·软件推荐:开放源代码软件测试工具介绍
·Linux系统下配置OPENVZ虚拟机的过程解
·Ubuntu Linux系统下修改文档权限的方法
·VMware虚拟机Linux系统通过NAT方式上网
·通过监控Linux的运行进程来保证系统安
·安全宝典:保障Linux系统安全的九大技
  阅读排行
·使用源代码将 Glibc 升级到 2.6
·Linux下推荐的常用应用程序列表
·使用 ActiveScaffold 增强 Ruby on Rai
·什么是Linux?Linux与UNIX之间的关系
·应用:postfix邮件服务器安全策略
·提高Linux系统性能加速网络应用程序
·Linux操作系统的内核引导程序详细解析
·Linux用户(User)和用户组管理概述
·在 Linux on POWER 上利用透明大内存页
·Ubuntu Linux操作系统中的用户管理
·使用/proc文件系统来访问Linux内核
·基于linux操作系统架构openvpn总结
·Grub引导程序的安装、配置及使用汇总
·几种Linux嵌入式开发环境的简单介绍
·C++自动化(模板元)编程基础与应用(1)
网摘收藏: