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(...))
有人知道更好的方法吗?
编辑:记录一下:我的建议实现按预期工作!