如何记忆背后静态分配的巨大的网页被分布在NUMA节点?
问题描述:
在我的/ etc /默认/ grub的文件,我已经明确地划出ň巨大的页面与“大页面= N”。如果我在一个机器上运行以2个NUMA节点,确实N/2大页面获得预留的每个节点,还是他们都去节点0,还是....?也有在命令行的方式来查询它们在整个节点分裂?如何记忆背后静态分配的巨大的网页被分布在NUMA节点?
答
从kernel.org后约大页面HERE
NUMA平台上,内核将尝试在所有组由 任务的NUMA内存政策规定允许的节点分布的巨大页面池 修改nr_hugepages。为使节点的默认 - 当 任务具有默认内存政策 - 与内存中的所有上线的节点。允许,但有可用的,连续的内存不足 节点为一个巨大的页面将 分配持续巨大的页面时,默默地跳过。见讨论 下面的任务内存政策,cpusets的互动和每个节点有持续大内存页的分配和释放属性 。
巨大页面分配的成功或失败取决于 分配尝试时在系统中出现的物理连续内存量。如果内核无法从 在NUMA系统分配大内存页一些节点,它会尝试, 分配上有足够的可用连续 内存的其他节点额外页面如果有的话,以补足差额。
系统管理员可能希望将此命令放入本地rc init文件之一中。这将使内核在 年初分配启动进程庞大的页面时,得到的物理连续页面 的可能性还是非常高的。管理员可以验证 实际检查的sysctl或meminfo分配的大页面的数量。要检查NUMA系统中每个节点巨大页面的分布情况,请使用:
cat /sys/devices/system/node/node*/meminfo | fgrep Huge