numactl --membind
Posted
技术标签:
【中文标题】numactl --membind【英文标题】: 【发布时间】:2013-02-03 05:56:11 【问题描述】:在 Linux 中使用带有 --membind 选项的 numactl 时,假设我执行以下操作:
=0,1,2 ./prog
./prog 的内存是否会分配在所有 NUMA 节点 0、1 和 2 上?或者如果 NUMA 节点 0 的内存不够,内存会只分配在 NUMA 节点 1 和 2 上吗?谢谢。
【问题讨论】:
【参考方案1】:numactl
的手册页说:
--membind=nodes, -m nodes
Only allocate memory from nodes. Allocation will fail when there is not enough
memory available on these nodes.
所以,如果节点 0 没有足够的内存,内存将分配到节点 1,2 上。每个节点的实际内存分配比例可能取决于内存放置策略。
【讨论】:
但是如果0有足够的内存,那么所有的内存都会分配到0,对吧?你说配给取决于“内存放置策略”是什么意思?是不是要使用节点0上可用的全部空闲内存(full free memory=ration),如果这还不够,那么只有它会使用节点1上的全部空闲内存,如果这还不够,那么只有它会使用节点 2?谢谢。以上是关于numactl --membind的主要内容,如果未能解决你的问题,请参考以下文章