首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在执行fork()时,在某些内存页面上禁用写入时复制(COW)

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

Stack Overflow用户
提问于 2011-01-18 00:58:58
回答 2查看 1.6K关注 0票数 1

当一个父进程for一个子进程(在linux下)时,我想在一开始就将父进程中的一些内存页复制到子进程的地址空间,这意味着不需要等待写时复制( copy -on-write,COW)。有什么机制支持这一点吗?谢谢:-)

EN

回答 2

Stack Overflow用户

发布于 2011-01-18 01:04:48

我不知道这方面有什么接口,但你总是手动操作,要么使用memcpy,要么只需触摸相关页面(例如,读取第一个单词,然后将其写回)。确保将页面标记为volatile

票数 1
EN

Stack Overflow用户

发布于 2011-01-18 01:17:17

看一下clone系统调用。最相关的选项是CLONE_VM。在fork是纯粹的优化之后,实现页面的写入时复制行为是很重要的。我不能预见任何情况下,这可能是一个问题,除非您可能希望招致所有潜在的“懒惰”性能损失,因为页面重复。即使是这样,您也可能过于热衷于希望触及每个可写页面,因为您将增加从原始进程派生的每个进程的物理内存使用量。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4715720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档