内核crash诊断指南

centos7配置kdump
1、安装kdump工具

dnf install kexec-tools           # 一路yes

[root@@@node1 ~]# kexec -v
kexec-tools 2.0.15

2、更新grub文件及配置

# 将GRUB_CMDLINE_LINUX="crashkernel=auto..."中的auto修改为128M。一般设为128M或256M
~]# sed -i 's/crashkernel=auto/crashkernel=256M/g' /etc/default/grub

# 更新配置
~]# grub2-mkconfig -o /boot/grub2/grub.cfg
~]# reboot

3、修改kdump的配置

# 找到大约152行,然后加上-c表示压缩,源文件没有这个选项
~]# sed -i 's/^core_collector/& -c/' /etc/kdump.conf
# 生成coredump后,重启系统,这里加在文件末尾
~]# sed -i '$adefault reboot' /etc/kdump.conf
# 重启
~]# systemctl enable --now kdump
# 测试是否生效
~]# systemctl status kdump

4、手动触发内核崩溃

~]# echo 1 > /proc/sys/kernel/sysrq
~]# echo c > /proc/sysrq-trigger

此时会在/var/crash目录下生成文件,使用less命令直接翻页到最后来看内核崩溃的日志

这里的日志与咱们手动执行内核崩溃的命令基本一致,从这里就可以看到内核崩溃的原因了

原文地址:https://www.cnblogs.com/FengGeBlog/p/14501516.html