linux核心發送崩潰時,kdump會生成一個核心轉儲檔案vmcore。 可以通過分析vmcore分析出核心崩潰的原因。
crash是一個被廣泛應用的核心奔潰轉儲檔案分析工具。
使用crash調試核心轉儲檔案,需要安裝crash工具和核心調試工具kernel-debuginfo。
安裝、配置、啟動kdump
安裝kdump:
yum search kexec-tools
yum install kexec-tools.x86_64
配置kdump:
vim /boot/grub/menu.lst: 設定crashkernel=auto 自動方式
啟動kdump:
service kdump start
安裝crash
yum install crash*
檢視核心資訊注意一緻性
[[email protected] ~]# uname -r
2.6.32-573.7.1.el6.x86_64
[[email protected] ~]# cat /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m
wget http://debuginfo.centos.org/6/x86_64/kernel-debuginfo-2.6.32-573.7.1.el6.x86_64.rpm
wget http://debuginfo.centos.org/6/x86_64/kernel-debuginfo-common-x86_64-2.6.32-573.7.1.el6.x86_64.rpm
rpm -ivh kernel-debuginfo-common-XXX.rpm
rpm -ivh kernel-debuginfo-XXX.rpm
加載到開機啟動
在 /etc/rc.local 加入service kdump start
運作
執行crash
如果當機的crash檔案執行
/usr/bin/crash /usr/lib/debug/lib/modules/XXX/vmlinux vmcore
常用指令bt 看當機資訊
加載子產品
mod -s [mould_name] [position]
檢視當機時的代碼位置
sym [addr]
檢視記憶體資訊
具體分析方法見前面部落格
http://blog.csdn.net/divlee130/article/details/47806551