在php手册中,我知道memory_get_usage(real_usage)返回分配给PHP的内存量,并将real_usage设置为TRUE以获取从系统分配的总内存,包括未使用的页面。
我认为,实际使用量应大于分配的大小。但我的php脚本实际使用量小于分配的大小,有时大于分配的内存。
我的代码。
function p($var, $exit = false)
{
$trace = debug_backtrace();
$file = $trace[0]['file'];
$line = $trace[0]['line'];
if(is_bool($var)) {
$str = $var ? 'true' : 'false';
} else {
$str = print_r($var, true);
}
echo '<pre>';
echo $file . ' : ' . 'line #' . $line . '<br>';
echo $str;
echo '</pre>';
if($exit)
exit();
}
line 226: p(memory_get_usage());
line 227: p(memory_get_usage(true));
line 228: p(memory_get_peak_usage());
line 229: p(memory_get_peak_usage(true));
结果:
real usage less than allocated memory
real usage greater than allocated memory
我想知道为什么会这样。谢谢你的帮助。