Windows API 提供 CreateFileMappingNuma 函数 ( http://msdn.microsoft.com/en-us/library/windows/desktop/aa366539(v=vs.85).aspx ) 在特定 NUMA 上创建命名共享内存空间节点。
到目前为止,我还没有找到 Linux 的等效功能。
我目前的方法如下所示:
- 分配命名共享内存(使用 shm_open(...))
- 确定当前的 NUMA 节点(使用 numa_move_pages(...))
- 将页面移动到目标节点(再次使用 numa_move_pages(...) )
有谁知道更好的方法?
编辑:记录在案:我提出的实施确实按预期工作!