linux操作系统崩溃,Linux 操作系统死机故障处理方法总结

Linux 操作系统死机故障基础常识

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

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

Core

dump

Core

dump通常用来调试应用程序错误,当某些应用程序运行出现异常崩溃时,可以开启系统的core

dump功能,来得到一个程序崩溃时的内存信息,用来分析崩溃原因:

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

ulimit

-c 0

运行命令:sysctl

-w "kernel.core_name_format=/coredump/%n.core"

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

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/init

你可能感兴趣的:(linux操作系统崩溃)