轉自:https://blog.csdn.net/guowenyan001/article/details/19807555
一、簡介
linux內核發送崩潰時,kdump會生成一個內核轉儲文件vmcore。 可以通過分析vmcore分析出內核崩潰的原因。
crash是一個被廣泛應用的內核奔潰轉儲文件分析工具。
使用crash調試內核轉儲文件,需要安裝crash工具和內核調試工具kernel-debuginfo。
二、安裝kudmp、crash、kernel-debuginfo
安裝包的版本,要與linux內核一致,查看linux內核版本:
uname -a
2.1 安裝、配置、啟動kdump
安裝kdump:
yum search kexec-tools
yum install kexec-tools.x86_64
配置kdump:
vim /boot/grub/menu.lst: 設置crashkernel=auto
vim /etc/kdump.conf: path /var/crash (core文件產生的目錄)
啟動kdump:
service kdump start
2.2 安裝crash
文件名:crash-6.1.0-5.el6.x86_64.rpm
安裝:yum search crash
yum install crash.x86_64
2.3 安裝kernel-debuginfo
文件名:kernel-debuginfo-common-x86_64-2.6.32-220.el6.x86_64.rpm
kernel-debuginfo-2.6.32-220.el6.x86_64.rpm
下載地址:http://debuginfo.centos.org/6/x86_64/
安裝:rpm -ivh kernel-debuginfo-common-x86_64-2.6.32-220.el6.x86_64.rpm
rpm -ivh kernel-debuginfo-2.6.32-220.el6.x86_64.rpm
三、分析vmcore
3.1 模擬機內內核奔潰
echo c > /proc/sysrq-trigger
執行此命令內核崩潰,會在/var/crash目錄下生成vmcore文件。(vim /etc/kdump.conf; path /var/crash)
3.2 分析vmcore
進入目錄/var/crash/127.0.0.1-2014-02-24-09:30:19,可以看到vmcore文件。
1. 執行/usr/bin/crash /usr/lib/debug/lib/modules/2.6.32-220.el6.x86_64/vmlinux vmcore
2. 具體分析過程見:http://blog.csdn.net/guowenyan001/article/details/12975221
參考資料:
深入探索kdump、crash:http://www.ibm.com/developerworks/cn/linux/l-cn-kdump4/index.html?ca=drs
crash調試vmcore:http://blog.csdn.net/taget/article/details/7814740
---------------------
作者:kanguolaikanguolaik
來源:CSDN
原文:https://blog.csdn.net/guowenyan001/article/details/19807555
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!