linux内核崩溃分析方法-1:分析vmcore文件

启动kdump服务

1.内核卡死时如果要生成vmcore文件,需要将kdump服务打开
1.systemctl status kdump
2.systemctl stop kdump
3.systemctl start kdump

查找vmcore文件所在位置

以Centos系统为例,当系统出现崩溃后将会产生vmcore文件,在/var/crash目录的日期下

安装内核debuginfo rpm包

只有了vmcore还不行,还需要导入内核的debug调试信息,以centos为例,rpm包中带有kernel开头的即为内核rpm包,在此下找到相应的内核版本,然后点击进入即可下载debuginfo的rpm包
所有kernel版本
debuginfo包
将kernel-debuginfoxxxx.rpm包下载后执行rpm -ivh --force进行安装

通过crash进行调试

1.debuginfo安装后 调试信息所在路径为:/usr/lib/debug/lib/uname -r/vmlinux
2.执行 crash vmlinux vmcore 即可进行调试 (ps:vmlinux和vmcore为绝对路径)
3.如果vmcore比较大的话会报内存分配错误,此时会出现调试失败,4.可以执行crash vmlinux vmcore --minimal进行分析,然后输入log键查看内核日志

Logo

更多推荐