首页 文章

在执行fork()时禁用某些内存页面上的写时复制(COW)

提问于
浏览
1

当父进程分叉子进程(在linux下)时,我想将父进程中的一些内存页面复制到子进程的地址空间,这意味着,无需等待拷贝 - 写(COW) . 有没有机制支持这个?谢谢:-)

2 回答

  • -1

    我不知道有任何接口,但你总是手动做,或者用 memcpy 或者只是触摸有问题的页面(例如,读取第一个单词,然后再写回来) . 务必将页面标记为 volatile .

  • 1

    看一下clone系统调用 . 最相关的选项是 CLONE_VM . 它可以预见这可能是一个问题的任何情况,除非您希望预先因页面重复而导致所有潜在的性能损失 . 即使对于这些,您也可能过于热衷于希望触摸每个可写页面,因为您将增加从原始页面分叉的每个进程的物理内存使用 .

相关问题