【问题标题】:What does memory_get_peak_usage(true) do? [duplicate]memory_get_peak_usage(true) 有什么作用? [复制]
【发布时间】:2013-09-19 15:39:25
【问题描述】:

PHP manual 说:

int memory_get_peak_usage ([ bool $real_usage = false ] )

返回分配给 PHP 脚本的内存峰值(以字节为单位)。

参数

real_usage

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

那么emalloc() 怎么不是真正的 使用量,那么TRUE 又是如何计算真正的 内存使用量的呢?

当您使用 FALSETRUE 时,对幕后发生的事情有更广泛的回答吗?

【问题讨论】:

标签: php


【解决方案1】:

如上所述,这个问题是一个重复的问题。

不过,我觉得应该从不同的答案和cmets总结一下自己的理解:

  • memory_get_peak_usage(false) 返回 PHP 脚本使用的确切内存。用于比较 PHP 脚本不同部分的确切内存消耗。
  • memory_get_peak_usage(true)从系统分配的内存返回给 PHP 脚本,它总是更高,因为 Zend 引擎以 256KB 的块分配内存。用于了解给定 PHP 脚本对系统的真正影响。

所以基本上,memory_get_peak_usage(true) 应该是memory_get_peak_usage(false) 舍入到下一个256KB

【讨论】:

  • 四舍五入到 256?这个平台不依赖吗?
猜你喜欢
  • 1970-01-01
  • 2020-07-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
  • 2015-09-20
  • 2013-07-24
  • 2015-05-03
  • 1970-01-01
相关资源
最近更新 更多