Google软件工程师 Pasha Tatashin 提议将 Page Detective 作为一种新的内核调试工具,该工具能够更深入地了解物理内存页面的使用和映射情况。"页面侦探"的初始代码已以"征求意见"的形式发布,并利用 Linux DebugFS 接口提供虚拟地址和物理地址的相关信息。

打开网易新闻 查看精彩图片

Page Detective 提供的这种洞察力可帮助开发人员和服务器管理员了解系统的内存页面使用情况,例如在处理内存问题时、 实时迁移过程中的校验和故障、文件系统日志故障、分段故障以及其他可能的内存损坏情况。

"Page Detective 是一款内核调试工具,旨在提供有关 Linux 内核中物理内存页的使用和映射的深入信息。 通过利用 debugfs 接口,它使管理员和开发人员能够调查内存页面的状态和分配情况。该工具对于诊断内存相关问题非常有价值,例如实时迁移过程中的校验和错误、文件系统日志故障、分段故障以及其他形式的损坏。"

用于 Linux 页面检测的 RFC 修补程序今天发布在Linux 内核邮件列表上。 Pasha 在该补丁封面信中进一步解释说:

"Page Detective 是一种新的内核调试工具,可提供有关物理内存页的使用和映射的详细信息。 人们通常知道某个特定页面已损坏,但很难从实时系统中提取有关该页面的更多信息。 例如 - 实时迁移期间的校验失败 - 文件系统日志失败 - 控制台日志上的 dump_page 警告 - 未检测到的 segfault Page Detective 有助于从内核中提取更多信息、 因此开发人员可以利用它找出相关问题的根源。 它通过 Linux debugfs 接口运行,有两个文件:"virt"和"phys":" "virt"文件接收虚拟地址和 PID,并输出相应页面的信息。 "phys"文件接收物理地址,并输出该页面的信息。 输出通过内核日志信息(可使用 dmesg 访问)显示,包括页面的引用计数、映射、标志和内存 cgroup 等信息。 它还会显示页面是否在内核页表中进行了映射,如果是,会显示映射了多少次。"

我们可以继续观察页面检测工作的进展,以及其他相关者是否对将其纳入 Linux 内核主线的当前形式感兴趣。