步骤一:允许 KDUMP 使用内存
1.1 修改内核参数
# vim /etc/default/grub
在这一行里:
.....
GRUB_CMDLINE_LINUX="......"
.....
添加:
.....
GRUB_CMDLINE_LINUX="crashkernel=auto......"
.....
(补充:这里的 auto 代表系统会根据内存大小自动设置一个值,也可以指定一个值,例如:128M、256M 等等)
1.2 让刚刚修改的内核参数生效
# grub2-mkconfig -o /boot/grub2/grub.cfggrub2-mkconfig -o /boot/grub2/grub.cfg
# reboot
步骤二:修改 KDUMP 的配置信息
2.1 修改 KDUMP 的配置文件
# vim /etc/kdump.conf
将以下内容:
......
path /var/crash
core_collector makedumpfile -l --message-level 1 -d 31
......
修改为:
......
path /var/crash
core_collector makedumpfile -c -l --message-level 1 -d 31
default reboot
......
(
补充:
1) path /var/crash
2) -c 参数会对搜集的内核崩溃时的信息进行压缩
3) default reboot 参数会让 KDUMP 收集完内核崩溃时的信息后重启
)
2.2 让刚刚修改的 KDUMP 配置文件生效
# systemctl start kdump.service
步骤三:测试 KDUMP
3.1 造成系统内核崩溃
# echo 1 > /proc/sys/kernel/sysrq ; echo c > /proc/sysrq-trigger
(注意:此时系统会自动崩溃并重启)
3.2 查看 KDUMP 生成内核崩溃信息
# ls /var/crash/
(补充:这里的内核崩溃信息存放目录 /var/crash/,是刚刚在 /etc/kdump.conf 文件里指定的)