我想在两个进程之间共享内存。我知道的一种方法是mmap
共享文件。但是,我不想使用共享文件,我想要内存中的匿名映射。我怎样才能做到这一点。
问问题
3890 次
5 回答
3
共享内存就是你想要的:http ://en.wikipedia.org/wiki/Shared_memory
因为你在 linux 上,所以你去:http ://www.kernel.org/doc/man-pages/online/pages/man7/shm_overview.7.html
于 2012-07-20T16:21:58.933 回答
3
shm_open是你的朋友。您可以使用shm_unlink取消映射共享区域。
于 2012-07-20T16:25:36.520 回答
2
您可以将 mmap 文件放在目录 /dev/shm 中,该目录在大多数 Linux 系统中作为 tmpfs(即基于内存的文件系统)安装。
或者您可以在目录树的其他位置安装您自己的 tmpfs(如果您需要其他选项)。
于 2012-07-20T16:24:22.847 回答
0
请记住,在 NUMA 系统上,如果内核位于不同的节点上,它们将以不同的速度访问内存,除非您选择与内核等距的 NUMA 节点。
于 2012-07-20T16:43:11.243 回答