大佬教程收集整理的这篇文章主要介绍了PHP是否根据其限制动态处理内存使用情况?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
看起来直观的是,无论memory_limit如何,脚本都会使用大约相同数量的内存,但似乎并非如此.如果脚本最大不超过50M,限制为50M,我原本预计即使memory_limit增加,峰值使用率仍然相同.
我唯一的解释是PHP认识到它接近极限并花费时间清除未使用的内存以避免达到限制.这是它实际工作的方式还是我只是划破了更大的表面?
重新定义非原始变量值时,旧值不会立即从内存中丢弃.它仍然存在,作为脚本内存使用的一部分.
只有当您的脚本危险地接近其内存限制时,才会调用垃圾收集器来清理那些未使用的已分配内存片段,以便为脚本释放更多空间.这个过程非常顺畅,这也就是为什么脚本运行速度更快,内存更多 – 垃圾收集器不需要经常使用.
编辑:
缓冲也参与其中.如果您的脚本正在向文件写入大量数据,则此数据首先在内存中排队,因为您的硬盘将无法像生成此数据那样快速地写入此数据.如果生成数据的速度比磁盘写入速度快得多,最终可用内存将会填满,下次尝试fwrite()或使用任何将数据放入缓冲区的函数时,程序将被强制等待.
以上是大佬教程为你收集整理的PHP是否根据其限制动态处理内存使用情况?全部内容,希望文章能够帮你解决PHP是否根据其限制动态处理内存使用情况?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。