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

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

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

我该如何配置它?

答案1

你可能还想看看 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 只是一个大概的数字。它必须足够大才能容纳内核映像和相关的 init 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. 找一杯好威士忌来缓解你将来内核调试的痛苦。

答案2

简短的回答,但是...

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

建立新内核,并安装。

然后阅读这些内容以获取更多背景信息: Linux-Crash-HOWTO.pdflkcd 实用程序

相关内容