它有什么作用?它是否将程序分配仅绑定到运行的numactl --localalloc
单个节点?还是它确保程序从其本地内存中分配给定的内存?numactl --localalloc
答案1
--localalloc
将强制从进程正在运行的节点的本地池中分配内存,无论该节点是什么。
要强制绑定到特定处理器,--physcpubind
必须指定该选项。与 localalloc 结合使用时,它将强制进程在指定节点上运行,并且仅从该节点获取内存。
--preferred
告诉它如果可能的话从特定节点分配,如果不可能则使用远程内存。
答案2
我对文档的理解是,它将--localalloc
在发出系统调用的 CPU 节点上分配内存。这应该适用于将工作线程固定到各个 CPU 的应用程序,并与malloc
保留每个线程内存池的库结合使用,例如TCMaloc 的。