当父进程分叉子进程(在linux下)时,我想将父进程中的一些内存页面复制到子进程的地址空间,这意味着,无需等待拷贝 - 写(COW) . 有没有机制支持这个?谢谢:-)
我不知道有任何接口,但你总是手动做,或者用 memcpy 或者只是触摸有问题的页面(例如,读取第一个单词,然后再写回来) . 务必将页面标记为 volatile .
memcpy
volatile
看一下clone系统调用 . 最相关的选项是 CLONE_VM . 它可以预见这可能是一个问题的任何情况,除非您希望预先因页面重复而导致所有潜在的性能损失 . 即使对于这些,您也可能过于热衷于希望触摸每个可写页面,因为您将增加从原始页面分叉的每个进程的物理内存使用 .
CLONE_VM
2 回答
我不知道有任何接口,但你总是手动做,或者用
memcpy
或者只是触摸有问题的页面(例如,读取第一个单词,然后再写回来) . 务必将页面标记为volatile
.看一下clone系统调用 . 最相关的选项是
CLONE_VM
. 它可以预见这可能是一个问题的任何情况,除非您希望预先因页面重复而导致所有潜在的性能损失 . 即使对于这些,您也可能过于热衷于希望触摸每个可写页面,因为您将增加从原始页面分叉的每个进程的物理内存使用 .