1、安装工具包
# yum install kernel-debuginfo kexec-tools crash
2、设置 crashkernel 预留内存大小,修改 /etc/default/grub/ 文件
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/swap crashkernel=512M nmi_watchdog=panic,1"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
3、重新生成 grub 配置文件,重启操作系统
# grub2-mkconfig -o /boot/grub2/grub.cfg
# reboot
4、开启 kdump 服务
# systemctl start kdump.service // 开启kdump
# systemctl enable kdump.service // 设置开机启动
5、检查 kdump 是否开启
# service kdump status
6、手工触发一个 crash dump
# echo 1 > /proc/sys/kernel/sysrq;echo c > /proc/sysrq-trigger
执行上述命令后,系统会自动重启,并在 /var/crash/ 目录下生成 coredump 文件。
7、分析 crash 文件
# cd /var/crash/
# crash vmcore /usr/lib/debug/lib/modules/xxxxx/vmlinux