一、kdump作用
kdump是在系统崩溃、死锁或者死机的时候用来转储内存运行参数的一个工具和服务。特别是在内核Oops的时候,能生成vmcore文件 通过crash工具进行分析;
二、安装工具
yum install kexec-tools
三、开启kdump
1、在安装完之后,查看kdump
#systemctl status kdump.service
但是有的时候(一般默认)会报错,报错主要是提示内存不足:
kdumpctl[5416]: No memory reserved for crash kernel.
当然如果正常运行active,就可以跳过下面的内存配置
2、这个是什么原因呢?为什么会提示内存不足,请看下面
cat /etc/default/grub
结果发现crashkernel=auto, 就是这个auto搞事情的;这个当机器判断内存比较低的时候,会变为0;
所以为了保证其生效,最好手动配置一个值;
修改/etc/default/grub这个文件,把auto 修改为 512M 即 crashkernel=512M
让其生效
# grub2-mkconfig -o /boot/grub2/grub.cfg
3、reboot重启机器,发现运行正常了;
四、开机启动
查看服务状态 service kdump status
若未启动,则service kdump start
查看是否开机自启动 chkconfig --list | grep kdump
若未加入启动项则加入 chkconfig kdump on
五、验证生效
强制让系统崩溃
echo c > /proc/sysrq-trigger
机器已经处于卡死状态了(有的会提示自动重启),重启机器,查看默认的目录 /var/crash/下面是否生成新的文件
这里生成的vmcore 文件可以用于查看错误信息
后面就可以使用 crash vmlinux vmcore 加密查看了。
参考文章:
https://blog.csdn.net/weixin_42915431/article/details/112555690