perl – 标记为copy-on-write的所有内存是否在一次更改一个数据后被复制?

perl – 标记为copy-on-write的所有内存是否在一次更改一个数据后被复制?,第1张

概述我的问题可能是一个措辞不好的问题,源于我对记忆管理的业余理解. 我担心的是:我有一个多次出现的Perl脚本.据我所知,在perldoc的fork页面中,正在实现copy-on-write.然后每个孩子调用system(),再次分叉,调用外部程序.来自外部程序的数据被读回到子项中,并作为可存储文件转储,以便在所有子项退出后由父项处理并处理. 我担心的是我对这种情况的波动性.考虑一下,在我看来,最坏的 我的问题可能是一个措辞不好的问题,源于我对记忆管理的业余理解.

我担心的是:我有一个多次出现的Perl脚本.据我所知,在perldoc的fork页面中,正在实现copy-on-write.然后每个孩子调用system(),再次分叉,调用外部程序.来自外部程序的数据被读回到子项中,并作为可存储文件转储,以便在所有子项退出后由父项处理并处理.

我担心的是我对这种情况的波动性.考虑一下,在我看来,最坏的情况:
    对于每个子节点,一旦新数据到达,整个写时复制存储器就会被复制.如果是这种情况,我会在创建一些分支后快速遇到内存问题.

但另外,copy-on-write是否只复制包含所需数据的最小内存块?那么这个量子的记忆是什么?它的大小如何设定?

我不确定我所询问的细节是否依赖于语言或依赖于某些较低级别的过程.

解决方法 内存以页面形式组织,通常每个4K(这可以设置为不同的值,并且是特定于硬件的,但这是具有标准 *** 作系统的英特尔平台上的标准).当子进程写入写入时复制页面时,它将被复制. 总结

以上是内存溢出为你收集整理的perl – 标记为copy-on-write的所有内存是否在一次更改一个数据后被复制?全部内容,希望文章能够帮你解决perl – 标记为copy-on-write的所有内存是否在一次更改一个数据后被复制?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1266564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存