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

numa allocated memory is shared from two forked processes?

我正在使用 NUMA api,我需要使用 MAP_SHARED 标志做 mmap() 可以做的事情,即:一个进程分配内存,然后,它叉子。我需要这两个进程共享分配的内存。如果P1修改这个内存区域。 P2 看到了这种修改,反之亦然。我该如何使用 numa_alloc_onnode() 函数?

谢谢

设置分为两步:

  1. numa_alloc_onnode() - 在指定的 numa 节点上分配内存。
  2. mmap() - 将指定的内存映射到文件,包括在进程之间共享内存的能力。

换句话说,mmap() 对通过 malloc 分配的内存的工作方式与通过 numa_alloc_onnode 分配的内存相同。