分享

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

 t涂鸦 2011-11-30
以下是故障排除 Linux操作系统死机处理方法总结 (1)的正文内容,本文是网友投稿或本站会员创作,不代表本站观点:

通常在出现系统崩溃后,大家会担心再次出现故障,但是发现系统各日志中并没有记录到任何死机前后的信息,无法分析故障原因,认为已经无药可救。但是,实际上,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-cn.com不对文章内容做任何保证。
本文链接:http://www./html/linux/network/20070717/55114.shtml

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多