一. 安装包:
1. crash(通过yum安装)
2. kernel-debuginfo-2.6.32-358.el6.x86_64.rpm
3. kernel-debuginfo-common-x86_64-2.6.32-358.el6.x86_64.rpm
二. 开启kdump服务:/etc/init.d/kdump start
注:通过kickstart安装的RHEL6.4系统已默认开启kdump服务
确认kdump服务开启:/etc/init.d/kdump status,若输出Kdump is operational则表示kdump服务开启成功
三. 查看转储文件
当内核crash后,会在/var/crash/目录下生成转储文件,举例如下:
/var/crash/127.0.0.1-2014-05-07-15:24:33/
在该目录中,会生成vmcore和vmcore-dmesg.txt这2个文件,作用:
vmcore:内核crash时进行内存转储
vmcore-dmesg.txt:内核crash时将当时的dmesg信息保存至此
查看vmcore的命令:crash /usr/lib/debug/lib/modules/2.6.32-358.el6.x86_64/vmlinux ./vmcore
将会输出以下图
RHEL6.4-kernel-dump1
输入bt
RHEL6.4-kernel-dump2
图中的COMMAND: “crash_test.sh”表示crash是由crash_test.sh程序触发的。
附:
1. 手动触发内核crash的方法 echo c > /proc/sysrq-trigger
2. crash> 交互式常用指令:
? 查看帮助,有很多命令,可以查看当时的进程、内存、模块等等
help bt 查看bt命令帮助