numa分配的内存是从两个分叉进程共享的?

时间:2017-08-26 15:34:53

标签: c unix memory-management shared-memory numa

我正在使用NUMA api,我需要做mmap()使用MAP_SHARED标志可以完成的工作,即:进程分配内存,之后,它会分叉。我需要从两个进程共享这个分配的内存。如果P1修改了这个内存区域。 P2可以看到这种修改,反之亦然。如何使用numa_alloc_onnode()功能?

谢谢

1 个答案:

答案 0 :(得分:1)

这是设置的两步过程:

  1. numa_alloc_onnode() - 在指定的numa节点上分配内存。
  2. mmap() - 将指定的内存映射到文件,包括在进程之间共享内存的能力。
  3. 换句话说,mmap()对通过malloc分配的内存作为通过numa_alloc_onnode分配的内存的作用相同。