有没有办法为 NUMA 中的数据分配特定的内存?
Posted
技术标签:
【中文标题】有没有办法为 NUMA 中的数据分配特定的内存?【英文标题】:Is there some way to allocate specific memory for data in NUMA? 【发布时间】:2016-12-20 13:21:48 【问题描述】:我想以我可以控制的方式在NUMA内所有节点的内存中分配内存(例如,在node1
的内存中分配a
,在node2
的内存中分配b
内存,并在node4的内存中分配c
……)。
有什么办法可以做到吗?
【问题讨论】:
man7.org/linux/man-pages/man2/set_mempolicy.2.html 谢谢你。我已阅读 set_mempolicy 的描述。似乎 set_mempolicy 只是提供了一种为线程设置内存策略的方法,但我想要的是一种类似于 malloc 系列的数据级内存管理方法。 【参考方案1】:也许您可以使用numa_alloc_onnode
函数(NUMA 策略库)来实现您的目标,但这样的分配速度很慢。
但请记住,NUMA 内存关联与在核心 [thread->core->NUMA 节点] 上运行的执行线程密切相关。我相信你知道自己在做什么。
http://man7.org/linux/man-pages/man3/numa.3.html
【讨论】:
以上是关于有没有办法为 NUMA 中的数据分配特定的内存?的主要内容,如果未能解决你的问题,请参考以下文章