memory_get_peak_usage()是返回整个php的内存还是仅返回当前执行的内存?

Hug*_*ota 2 php memory function

让我们说我打电话memory_get_peak_usage(true)然后它返回2.5MB.

  • 这是否意味着整个php(所有客户端)都导致了这个峰值?

  • 或者这是否意味着如果我有100个客户同时进行,峰值可能是250MB?

Arn*_*anc 6

它仅返回当前请求的峰值使用情况.

来自doc:

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


要从文档中删除任何含糊之处:

memory_get_peak_usage()调用返回的内部zend_memory_peak_usage()函数AG(mm_heap)->peak.

AG(mm_heap)->peak复位到0zend_mm_shutdown() ,这被称为在php_request_shutdown()在每个请求的结束.

所以它只是当前请求的峰值内存使用量.