gpt4 book ai didi

linux - 静态分配的大页面背后的内存如何跨 NUMA 节点分布?

转载 作者:太空宇宙 更新时间:2023-11-04 09:24:10 32 4
gpt4 key购买 nike

在我的/etc/default/grub 文件中,我用“hugepages=N”明确地预留了 N 个大页面。如果我在一个有 2 个 NUMA 节点的盒子上运行,是为每个节点预留 N/2 个大页面,还是它们都转到节点 0,或者......?还有一种方法可以在命令行上查询它们是如何跨节点拆分的吗?

最佳答案

来自 kernel.org 关于大页面的帖子 HERE

在 NUMA 平台上,内核会尝试分配大页面池在所有由 NUMA 内存策略指定的允许节点集上修改 nr_hugepages 的任务。允许节点的默认值——当任务有默认的内存策略——所有在线节点都有内存。允许大页面的可用连续内存不足的节点将分配持久性大页面时静默跳过。查看讨论以下是任务内存策略、cpuset 和每个节点属性的交互分配和释放持久性大页面。

huge page分配的成败取决于发生时系统中存在的物理上连续的内存分配尝试。如果内核无法从NUMA 系统中的某些节点,它将尝试通过以下方式弥补差异在具有足够可用连续性的其他节点上分配额外页面内存,如果有的话。

系统管理员可能希望将此命令放在本地 rc 之一初始化文件。这将使内核能够尽早分配大页面获得物理连续页面的可能性时的引导过程还是很高的。管理员可以验证大页面的数量实际上是通过检查 sysctl 或 meminfo 来分配的。检查每个节点在 NUMA 系统中分配大页面,使用:

cat /sys/devices/system/node/node*/meminfo | fgrep Huge

关于linux - 静态分配的大页面背后的内存如何跨 NUMA 节点分布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38491353/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com