【问题标题】:What are the Contents of /proc/vmcore/proc/vmcore 的内容是什么
【发布时间】:2016-01-06 05:48:31
【问题描述】:
当内核崩溃时,它会生成 /proc/vmcore 文件。稍后我们可以使用 makedumpfile 实用程序使用这个 vmcore 文件生成 coredump。
这个 vmcore 文件的内容是什么?
是否包含堆栈区、堆区、代码区和常量等内核内存区域?
它是否还包含特定于流程的信息?进程内存区域等,?
请分享一些信息/链接以了解 vmcore 的包含内容以及如何优化或减少 Kernel Core Dump Size。
【问题讨论】:
标签:
linux-kernel
coredump
【解决方案1】:
先生。安德森提供了以下信息。我代表他发帖
当内核崩溃时,它会生成 /proc/vmcore 文件。后来我们
可以使用 makedumpfile 实用程序来生成 coredump
vmcore 文件。
这个 vmcore 文件的内容是什么?
它是否包含内核内存区域,如堆栈区、堆区、代码
面积和常数?
/proc/vmcore 是一个 ELF 格式的核心文件,它包含所有的物理内存
被崩溃的内核利用。
它是否还包含特定于流程的信息?进程内存区域
,等等,?
它包含包含进程信息的 NT_PRSTATUS ELF 注释
当系统崩溃时,它正在每个 cpu 上积极运行。它还包含
特定于 kdump 的 VMCOREINFO 注释,其中包含信息
关于 makedumpfile 和 crash 实用程序使用的崩溃内核。
请分享一些信息/链接以了解 vmcore 的包含
以及如何优化或减少内核转储大小。
这就是 makedumpfile(8) 的全部目的。而不是必须利用
一个巨大的转储文件,它是崩溃内核内存的大小,它允许
您同时 (1) 压缩 /proc/vmcore 内容,以及 (2) 过滤掉
崩溃分析通常不需要的页面,例如,用户空间
页面、空闲页面、零填充页面和页面缓存页面。
戴夫