【问题标题】:Is there some way to allocate specific memory for data in NUMA?有没有办法为 NUMA 中的数据分配特定的内存?
【发布时间】:2016-12-20 13:21:48
【问题描述】:

我想以我可以控制的方式在NUMA内所有节点的内存中分配内存(例如,在node1的内存中分配a,在node2的内存中分配b内存,并在node4的内存中分配c……)。

有什么办法可以做到吗?

【问题讨论】:

  • 谢谢你。我已阅读 set_mempolicy 的描述。似乎 set_mempolicy 只是提供了一种为线程设置内存策略的方法,但我想要的是一种类似于 malloc 系列的数据级内存管理方法。

标签: c++ c memory-management linux-kernel numa


【解决方案1】:

也许您可以使用numa_alloc_onnode 函数(NUMA 策略库)来实现您的目标,但这样的分配速度很慢。

但请记住,NUMA 内存关联与在核心 [thread->core->NUMA 节点] 上运行的执行线程密切相关。我相信你知道自己在做什么。

http://man7.org/linux/man-pages/man3/numa.3.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    • 2013-02-02
    • 2022-12-18
    • 1970-01-01
    相关资源
    最近更新 更多