首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP memory_get_usage(假)与memory_get_usage(真)

PHP memory_get_usage(假)与memory_get_usage(真)
EN

Stack Overflow用户
提问于 2013-07-10 09:06:12
回答 1查看 2.6K关注 0票数 14

有人能澄清$real_usage参数在memory_get_usage()中的确切区别吗?

手册指出:

将此设置为TRUE以获得从系统分配的内存的实际大小。如果没有设置或FALSE,则报告emalloc()使用的内存。

但是有什么区别呢?哪个值可以与 INI设置相比较

对于一些长时间运行的脚本,我得到了类似于250 and的实际使用量,而只有50 and的emalloc使用量。那件事怎么可能?

我试图分析一些内存泄漏问题,memory_get_usage()是我需要完全理解的一个重要指标。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-07-10 09:57:59

真正的内存量是为PHP进程保留的内存量。PHP将内存存储在大块中,这将是<= memory_limit,并且在脚本执行过程中可能会增加。例如:如果它填充了一个块,然后尝试将其赋值给一个新变量,它将保留另一个块。

如果将参数设置为FALSE,它只报告PHP在保留内存中实际使用的内存量。这将增加每次您分配给一个新变量,或调用一个函数等。

如果您对实际使用的内存数量感兴趣,那么您将需要真正的内存。

如果您正在调试,或者试图优化一段代码,您可能会对emalloc()内存更感兴趣。这将允许您在赋值或函数调用之前和之后检查内存,并计算增量。

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

https://stackoverflow.com/questions/17566569

复制
相关文章

相似问题

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