Linux / proc / meminfo和/ sys / devices / system / node / nodex / meminfo之间的关系

时间:2011-01-18 12:52:52

标签: memory linux-kernel

我想获得每个NUMA节点的“可用内存”量。 在处理整个机器时,通常会像 free 那样解析/ proc / meminfo(想要的数字是MemFree + Buffers + Cached)。 还存在/ sys / devices / system / node / nodex / meminfo,它们似乎每个NUMA节点显示数字。有谁知道这些数字如何与/ proc / meminfo的内容相关联?我的琐碎假设是为系统中的所有NUMA节点总结一些数字,结果等于/ proc / meminfo中的某个数字。但到目前为止,我没有弄清楚这些关系,尤其是页面缓存。

1 个答案:

答案 0 :(得分:2)

proc的代码在fs/proc/meminfo.c中,对于drivers/base/node.c中的sysfs文件。比较它们可能会给你一些提示。

请注意,您可能永远不会将数字加起来100%,因为您无法原子地读取所有文件的内容,因此在您阅读时这些值会发生变化。

通过两种方法报告的总RAM似乎也存在不一致。对此的一种解释是free_init_mem似乎不是NUMA意识,并且增加total_ram_pages但不进行任何NUMA会计。