2016-01-06 25 views
0

当内核出现混乱时,它会生成/ proc/vmcore文件。稍后我们可以使用makedumpfile实用程序使用此vmcore文件生成coredump。什么是/ proc/vmcore的内容

这个vmcore文件的内容是什么?

它是否包含堆栈区,堆区,代码区和常量之类的内核内存区域?

它是否也包含特定于工艺的信息?进程内存区域等?

请分享一些信息/链接以了解vmcore的内容以及如何优化或减少内核内核转储大小。

+0

'的/ proc/vmcore'未中记录[PROC(5)](http://man7.org/linux/man-pages/man5/proc.5.html) –

回答

0

安德森先生慷慨地提供了以下信息。我以他的名义发帖

当内核发生混乱时,它会生成/ proc/vmcore文件。后来我们 可以使用这个 vmcore文件使用makedumpfile实用程序生成coredump。

这个vmcore文件的内容是什么?

它是否包含核心内存区域,如堆栈区,堆区,代码 区和常量?

/proc/vmcore是一个ELF格式的核心文件,其中包含崩溃的内核使用的所有物理内存 。

它是否也包含过程特定信息?进程内存区域 等等,?

它包含包含信息的过程 这是积极的每个CPU上运行时的系统崩溃NT_PRSTATUS ELF笔记。它还包含 VMCOREINFO注释特定于kdump,其中包含有关makedumpfile和崩溃实用程序使用的崩溃内核的信息 。

请分享一些信息/链接以了解vmcore 的内容以及如何优化或减少内核内核转储大小。

这就是makedumpfile(8)的全部目的。它不需要利用 一个巨大的转储文件,它是崩溃的内核内存的大小,它允许您(1)压缩/ proc/vmcore内容和(2)过滤掉通常不需要的 页面崩溃分析,例如用户空间 页面,空闲页面,零填充页面和页面缓存页面。

戴夫