当内核发生混乱时,它会生成/ proc / vmcore文件。稍后我们可以使用makedumpfile实用程序使用此vmcore文件生成coredump。
此vmcore文件的内容是什么?
它是否包含堆栈区域,堆区域,代码区域和常量等内核内存区域?
它是否还包含特定于流程的信息?进程记忆区等,?
请分享一些信息/链接,以了解vmcore的内容以及如何优化或减少内核核心转储大小。
答案 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)过滤掉 通常不需要进行崩溃分析的页面,例如用户空间 页面,空闲页面,零填充页面和页面缓存页面。
戴夫