kdump介绍
kdump
-
kdump介绍
kdump是内核崩溃现场信息收集工具。当一个内核崩溃后(kernelpanic),内核会调用kexec内核引导加载程序,把当前内核换掉,进入到一个干净的备份内核(只使用少量内存,由第一个内核预留放在一块树存中),干净的内核启动后,仍旧是用户态服务初始化,这时会使用kdemp工具从内核读出需要的信息,再写到磁盘上的一个vmcore内核崩溃转储文件中。
(麒麟服务器系统默认启用)
-
kdump安装
系统内核崩溃信息收集工具由kexec-tools安装包提供
- 安装:yum install kexec-tools (默认已安装)
- 配置grub:vim /etc/default/grub ;
在GRUB_CMDLINE_LINUX配置项这里加入crashkernel=256M,如下图所示:

- 更新grub.cfg
Legacy模式: grub2-mkconfig -o /boot/grub2/grub.cfg UEFI模式: grub2-mkconfig -o /boot/EFI/kylin/grub.cfg
-
kdump配置
kdump配置文件:
/etc/kdump.conf,保留默认即可;
kdump保存vmcore的默认存储路径:/var/crash/
kdump配置检查:- 检查是否分配了崩溃的内存
cat /sys/kernel/kexec_crash/size cat /proc/iomem | grep "Crash kernel" - 检查kdump预留内存大小:
kdumpctl showmem
- 检查是否分配了崩溃的内存
-
kdump测试
kdump运行功能是否正常(触发内核崩溃):
echo 1 > /proc/sys/kernel/sysrq #开启sysrq功能,默认关闭 echo c > /proc/sysrq-trigger #产生空指针触发kernel panic 查看是否生成vmcore文件 -
kdump预留内存建议
物理内存 建议预留内存 >2GB 256M >12GB 512M >48GB 768M >128GB 1024M