支持NUMA的Linux命名共享内存
发布时间:2020-12-14 01:39:43 所属栏目:Linux 来源:网络整理
导读:Windows API提供CreateFileMappingNuma函数( http://msdn.microsoft.com/en-us/library/windows/desktop/aa366539(v=vs.85).aspx)以在特定NUMA节点上创建命名共享内存空间. 到目前为止,我还没有找到Linux的等效功能. 我目前的方法如下: 分配命名的共享内存(
Windows API提供CreateFileMappingNuma函数(
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366539(v=vs.85).aspx)以在特定NUMA节点上创建命名共享内存空间.
到目前为止,我还没有找到Linux的等效功能. 我目前的方法如下: >分配命名的共享内存(使用shm_open(…)) 有谁知道更好的方法? 编辑:为了记录:我提出的实施确实按预期工作! 解决方法
这听起来不错.请注意,在您调用shm_open()/ fruncate()的位置没有分配页面(不要忘记使用ftruncate()来设置大小!).内核只是创建vma并等待将来的代码访问以将页面故障转换为物理内存.因此,在此状态下调用numa_move_pages()可能会产生在相关NUMA节点中创建和填充新页面的效果.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |