1 确保系统支持 Kdump
- 检查当前内核是否支持 Kdump:
- grep KEXEC /boot/config-$(uname -r)
- 如果输出中包含 CONFIG_KEXEC=y 和 CONFIG_CRASH_DUMP=y,则表示内核支持 Kdump。
检查 CPU 和内存是否支持:
- Kdump 需要一定的内存保留给捕获内核(通常为 128MB 或更多)。
- 确保系统有足够的内存(建议总内存大于 2GB)。
2. 安装 Kdump 工具
在 Debian 上,Kdump 工具可以通过 kdump-tools 包安装:
- sudo apt update
- sudo apt install kdump-tools
3. 配置 Kdump
1. 编辑 Kdump 配置文件
- 配置文件位于etc/default/kdump-tools。
- 编辑文件:
- sudo vim /etc/default/kdump-tools
- 确保以下行启用:
- USE_KDUMP=1
- 配置核心转储路径(例如保存到本地磁盘):
- KDUMP_COREDIR="/var/crash"
2. 设置保留内存
- 需要为捕获内核保留一部分内存。编辑 GRUB 配置文件:
- sudo vim /etc/default/grub
- 找到 GRUB_CMDLINE_LINUX 行,添加 crashkernel 参数:
- GRUB_CMDLINE_LINUX="... crashkernel=128M" 也可设置为256M或512M
- 更新 GRUB 配置:
- sudo update-grub
3. 重启系统
- 重启以应用配置:
- sudo reboot
4. 启用和启动 Kdump 服务
- 启用 Kdump 服务:
- sudo systemctl enable kdump-tools
- 启动 Kdump 服务
- sudo systemctl start kdump-tools
5. 验证 Kdump 配置
- 检查 Kdump 是否已启用:
- sudo kdump-config show

- 检查保留内存是否生效:
- cat /proc/cmdline | grep crashkernel
6. 测试 Kdump
手动触发系统crash,查看/var/crash目录有没有vmcore文件生产