Advertisement

使用/proc/pid/pagemap来跟踪进程物理页迁移

阅读量:

linux-3.10/Documentation/vm/pagemap.txt:

pagemap,从用户空间视角来看
---------------------------------------

pagemap 是内核中新增的一组接口(自 2.6.25 版本起),允许用户空间程序通过读取 /proc 目录下的文件来检查页表及相关信息。

pagemap 包含三个主要组成部分:

  • /proc/pid/pagemap。该文件使用户空间进程能够确定每个虚拟页面所映射的物理帧。文件中包含每个虚拟页面对应的 64 位数值,其中包含以下数据(来自 fs/proc/task_mmu.c 中的 pagemap_read 函数):

  • 0-54 位:若页面存在,则表示物理帧号(PFN)

  • 0-4 位:若页面被交换出去,则表示交换类型

  • 5-54 位:若页面被交换出去,则表示交换偏移量

  • 第55位:页表项是否为软脏(详见 Documentation/vm/soft-dirty.txt)

  • 第56-60位:保留为零

  • 第61位:该页是文件页还是共享匿名页

  • 第62位:该页是否被交换出去

  • 第63位:该页是否存在于内存中

全部评论 (0)

还没有任何评论哟~