我想练习 makedumpfile。但是,它需要/proc/vmcore
当前运行的内核的内存映像。
另外,阅读 的手册页makedumpfile
,我们还需要 2 个内核:恐慌内核(崩溃的内核)和捕获内核。该捕获内核是在同一台计算机上运行还是远程运行?
答案1
捕获内核在同一主机上运行。它在发生恐慌的内核保留给捕获内核使用的内存中运行。捕获内核是kexec
通过恐慌内核的机制启动的。
/proc/vmcore
如果内核设置导出内存映像,则应由内核提供。如果您的内核没有/proc/vmcore
,那么您就缺少正确的内核基础结构。
这Linux内核源码意味着/proc/vmcore
仅填充在捕获内核中(需要提供恐慌内核 vmcore ELF 标头地址的内核命令行),因此/proc/vmcore
将存在于常规内核中,但根本不包含任何内容。
在捕获内核中,/proc/vmcore
将崩溃的内核显示为ELF核心镜像。
这是一些包含更多详细信息的 RH 文档:https://access.redhat.com/knowledge/solutions/6038