/ proc / vmcore的内容是什么?

时间:2016-01-06 05:48:32

标签: linux-kernel coredump

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

此vmcore文件的内容是什么?

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

它是否还包含特定于流程的信息?进程记忆区等,?

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

1 个答案:

答案 0 :(得分:2)

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

  

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

     

此vmcore文件的内容是什么?

     

它是否包含堆栈区域,堆区域,代码等内核内存区域   面积和常数?

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

  

它是否还包含特定于流程的信息?进程内存区域   等等,?

它包含NT_PRSTATUS ELF注释,其中包含进程的信息 当系统崩溃时,它正在每个cpu上运行。它还包含 一个特定于kdump的VMCOREINFO注释,其中包含信息 关于makedumpfile和崩溃实用程序使用的崩溃内核。

  

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

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

戴夫