numa 分配的内存由两个分叉进程共享?
numa allocated memory is shared from two forked processes?
我正在使用 NUMA api,我需要使用 MAP_SHARED
标志做 mmap()
可以做的事情,即:一个进程分配内存,然后,它叉子。我需要这两个进程共享分配的内存。如果P1修改这个内存区域。 P2 看到了这种修改,反之亦然。我该如何使用 numa_alloc_onnode()
函数?
谢谢
设置分为两步:
numa_alloc_onnode()
- 在指定的 numa 节点上分配内存。
mmap()
- 将指定的内存映射到文件,包括在进程之间共享内存的能力。
换句话说,mmap() 对通过 malloc
分配的内存的工作方式与通过 numa_alloc_onnode
分配的内存相同。
我正在使用 NUMA api,我需要使用 MAP_SHARED
标志做 mmap()
可以做的事情,即:一个进程分配内存,然后,它叉子。我需要这两个进程共享分配的内存。如果P1修改这个内存区域。 P2 看到了这种修改,反之亦然。我该如何使用 numa_alloc_onnode()
函数?
谢谢
设置分为两步:
numa_alloc_onnode()
- 在指定的 numa 节点上分配内存。mmap()
- 将指定的内存映射到文件,包括在进程之间共享内存的能力。
换句话说,mmap() 对通过 malloc
分配的内存的工作方式与通过 numa_alloc_onnode
分配的内存相同。