如何在Debian中启用内核崩溃转储?


9

我想为我的Debian 5.0.7机器启用内核崩溃转储。内核版本为2.2.26 amd64。

我该如何配置?


我不记得支持AMD64的内核2.2.x ...我的版本号正确吗?
Turbo J

Answers:


7

您可能还需要查看Debian的kdump-tools软件包,以自动化一些必要的引导时步骤。

大致步骤

  1. sudo apt-get install kdump-tools
  2. 设置USE_KDUMP=1/etc/default/kdump-tools
  3. 添加crashkernel=128M到引导加载程序配置(例如/etc/default/grub)中给出的内核命令行中。同样也nmi_watchdog=1可以确保通过硬挂,也不会影响传递。
    • 请注意,128MB只是一个粗略的数字。它必须足够大以容纳内核映像和相关的初始化ramdisk。
    • 如果您的initram磁盘很大,则可以通过调整来缩小它 /etc/initramfs-tools/initramfs.conf
  4. 确保您的引导加载程序配置已更新(例如sudo update-grub
  5. 确保您的内核使用
    • CONFIG_RELOCATABLE=y
    • CONFIG_KEXEC=y
    • CONFIG_CRASH_DUMP=y
    • CONFIG_DEBUG_INFO=y
  6. 重启
  7. 验证崩溃内核已加载, cat /sys/kernel/kexec_crash_loaded
  8. 可选:测试所有这些都有效,
    1. sudo sync; echo c | sudo tee /proc/sysrq-trigger
    2. 使用该crash工具查看产生的故障转储
  9. 寻找一个好威士忌,以减轻您将来在内核调试中的痛苦。

支持威士忌参考。(以及其他所有内容)。
clearlight

4

一个简短的答案,但是...

转到您的内核源代码(例如cd / usr / src / linux /)并配置下一个内核的选项(make menuconfig)。转到“处理器类型和功能”。启用“内核崩溃转储”。(CONFIG_CRASH_DUMP = y)

构建新内核,安装。

然后阅读这些以获取更多背景信息: Linux-Crash-HOWTO.pdflkcd utils


1
并检查其是否已启用: grep CONFIG_CRASH /boot/config-$(uname -r)
Matthew Flaschen 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.