Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->网络应用 ->正文

故障排除 Linux操作系统死机处理方法总结 (1)

来源: 作者:Webmaster 时间:2007-07-17 点击: [收藏] [投稿]

通常在出现系统崩溃后,大家会担心再次出现故障,但是发现系统各日志中并没有记录到任何死机前后的信息,无法分析故障原因,认为已经无药可救。但是,实际上,Linux 有多种机制来保证发生系统崩溃后,可以获取有价值的信息用以分析问题。确定是硬件故障,还是应用程序bug 导致的。

Linux 中,有如下几种方法来获取各种崩溃时产生的信息。

1.Core dump

Core dump 通常用来调试应用程序错误,当某些应用程序运行出现异常崩溃时,可以开启系统的 core dump 功能,来得到一个程序崩溃时的内存信息,用来分析崩溃原因:

在/etc/profile里加上(或者修改)一条:

ulimit -c 0

运行命令:sysctl -w "kernel.core_name_format=/coredump/%n.core"

该命令意思是指core文件放在/coredump目录下,文件名是进程名+.core

2.Diskdump

diskdump工具提供了在单机上创建和采集vmcore(kernel dump)的能力,而无须使用网络。当内核本身出现崩溃的时候,当前的内存和CPU状态以及相关的信息都会被保存到一个支持diskdump的磁盘上的保留分区上。在下一次重新启动的时候,当系统重新启动,diskdump的初始化脚本会从保留分区中读取保存的信息并创建一个vcore文件,然后这个文件被再次存放到/var/crash/目录下,文件名为127.0.0.1-

如下是一个配置 HP SCSI 设备上启用 diskdump 的过程,如果不是 HP SCSI 设备(即设备名为 /dev/sdX的形式),则无须执行第三、四两个步骤。但需要在第一步前先执行命令: modprobe

diskdump

第一步:编辑 /etc/sysconfig/diskdump文件,将一个空白分区的设备名填入后保存退出,例如:

DEVICE=/dev/cciss/c0d0p2

第二步:初使化 dump 设备

#service diskdump initialformat

警告:该分区的所以数据会丢失。

第三步:使用 cciss_dump 模块替换当前的 cciss 模块:

在 /etc/modprobe.conf 找到如下行:

alias scsi_hostadapter cciss

修改为:

alias scsi_hostadapter cciss_dump

再增加一行:

options cciss_dump dump_drive=1

注:假设diskdump文件中配置的为 /dev/cciss/c0d[#a]p[#b], 请设置为: options cciss_dump dump_drive=[#a]

第四步:重建 initrd 文件:

#mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img.old

#mkinitrd /boot/initrd-`uname -r`.img `uname -r`

第五步:设置 diskdump 服务能够开机自启动:

# chkconfig diskdump on

1 2 3 下一页>>



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Linux安全攻略 如何修复系统的Root密码   下一篇:新手看招 Linux网络基本网络配置方法介绍 (1)

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号