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


PHP: memory_get_peak_usage(false), when should i use true?

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

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

根据我的理解,这里是答案:

memory_get_peak_usage(true)当你需要了解应用程序的全部使用情况时,包括各种开销等。当你想了解应用程序有多重时,它很方便。true通常将数字四舍五入到较大的大小,因为你不能只从RAM中分配729千字节,你的应用程序需要整个1024千字节。

当你想找出哪种执行"方法"最轻量级时,memory_get_peak_usage()很方便,所以你可以把尽可能多的操作塞进已经分配的1024千字节中。

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

当调试";所允许的耗尽的X字节的存储器大小"-错误:我们想弄清楚脚本中内存高的地方,因为这意味着我们使用更多的内存作为memory_limit设置。

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

调试超过memory_limit的正确值是memory_get_peak_usage(true)(带true参数)。如果超过这个值,则达到PHP的memory_limit,并且致命错误";允许的X字节耗尽的存储器大小";将被抛出。