memory_get_usage — 返回分配给 PHP 的内存量
说明
memory_get_usage ([ bool $real_usage = false ] ) : int
返回当前分配给你的 PHP 脚本的内存量,单位是字节(byte)。
参数
real_usage
如果设置为 TRUE,获取系统分配总的内存尺寸,包括未使用的页。如果未设置或者设置为 FALSE,仅仅报告实际使用的内存量。
memory_get_peak_usage — 返回分配给 PHP 内存的峰值
说明
memory_get_peak_usage ([ bool $real_usage = false ] ) : int
返回分配给你的 PHP 脚本的内存峰值字节数。
参数
real_usage
如果设置为 TRUE 可以获取从系统分配到的真实内存尺寸。 如果未设置,或者设置为 FALSE,仅会报告 emalloc() 使用的内存。
四种情况内存比较:<?php
// 字节转换
function formatBytes($bytes, $precision = 2) {
$units = array("b", "kb", "mb", "gb", "tb");
$bytes = max($bytes, 0);
$pow = floor(($bytes ? log($bytes) : 0) / log(1024));
$pow = min($pow, count($units) - 1);
$bytes /= (1 << (10 * $pow));
return round($bytes, $precision) . " " . $units[$pow];
}
$b1 = memory_get_usage(true); // 获取系统分配总的内存尺寸
echo formatBytes($b1); // 256 kb
$b2 = memory_get_usage(); // 当前分配给你的 PHP 脚本的内存量
echo formatBytes($b2); // 133.65 kb
$b3 = memory_get_peak_usage(true); // 获取从系统分配到的真实内存尺寸
echo formatBytes($b3); // 256 kb
$b4 = memory_get_peak_usage(); // PHP 脚本的内存峰值字节数
echo formatBytes($b4); // 135.57 kb
?>