PHP:memory_get_peak_usage(false),什么时候应该使用true?

时间:2011-06-01 13:36:01

标签: php memory

http://php.net/manual/de/function.memory-get-peak-usage.php 指出默认情况下将返回emalloc()(用c ++编写的内存管理器)中的值。

在什么情况下我应该使用true作为参数?

2 个答案:

答案 0 :(得分:5)

据我所知,答案是:

memory_get_peak_usage(true)当你需要了解你的应用程序的全部用途,包括所有类型的管理费用等。当你想知道你的应用程序有多重时,这很方便。 true通常会将数字舍入到更大的数字,因为您不能只从RAM分配729 KiloBytes,您的应用程序需要1024 KiloBytes。

memory_get_peak_usage()在您想要找出哪种“执行方法”最轻量级时非常方便,因此您可以将尽可能多的操作塞入已分配的1024 KiloBytes中。

答案 1 :(得分:0)

很难在网络上找到关于此的具体信息,所以想在这里分享一些发现,尽管这是一个老问题。

在调试“Allowed Memory Size of X Bytes Exhausted”错误时,我们想找出脚本中内存较高的位置,因为这意味着我们使用更多内存作为 memory_limit 设置。

为此,memory_get_peak_usage 函数很方便,因为它显示了我们使用最多时使用了多少内存。

调试超出 memory_limit 的正确值是 memory_get_peak_usage(true)(带有 true 参数)。如果超过此值,则达到了 PHP 的 memory_limit,将抛出致命错误“Allowed memory size of X Bytes Exhausted”。