memory_get_usage()real_size小于分配的大小

时间:2017-09-10 15:14:46

标签: php memory

在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

我想知道为什么会这样。谢谢你的帮助。

0 个答案:

没有答案