/proc/vmstat 中的 pgalloc_(dma|dma32|normal|movable) 测量什么?

/proc/vmstat 中的 pgalloc_(dma|dma32|normal|movable) 测量什么?

我的/proc/vmstat包含以下行:

pgalloc_dma 0
pgalloc_dma32 288126724
pgalloc_normal 33952724486
pgalloc_movable 0

我想知道它们的测量值是什么。它们是在机器处于活动状态时完成的页面分配总数的计数器,还是衡量每种类型当前已分配页面数的计数器?

proc 的手册页仅告诉我们每个指标是在哪个版本的内核中添加的,让读者参考内核源代码以获取更多信息。

在 Linux 内核源代码中查找 pgalloc_normal 没有任何结果。该文件似乎定义了name 下mm/vmstat存在的字段列表。我试图追溯似乎写在函数中的指标的来源,但从那里我迷失在重定向中。/proc/vmstatvmstat_textvmstat_refresh

答案1

pgalloc反映PGALLOC事件,这算 分配自系统启动以来每个 CPU 和每个区域(并将/proc/vmstat所有每个 CPU 值折叠为单个系统范围值)。有一个相应的pgfree计数页面释放事件(不是每个区域)。

相关内容