php内存使用情况

时间:2012-06-24 09:52:31

标签: php memory

在PHP中看起来需要大约213个字节来存储一个整数,这是真的吗? 好的,请看下一个代码:

$N = 10000;
echo memory_get_usage()."\n";
$v = array();
for($i = 0; $i < $N; $i++) {
    $v[] = $i;
}
echo memory_get_usage()."\n";
unset($v);
echo memory_get_usage()."\n";

下一步是输出:

641784
2773768
642056

因此,差异是2773768 - 641784 = 2131984字节,或每个整数213字节。 为什么这么多? 4个字节就足够了。

1 个答案:

答案 0 :(得分:3)

如果你只是在内存中的某个地方存储一个整数值,那么4个字节就足够了,不需要考虑它是一个需要数据类型标识的变量,标志来指示是否有对该变量的任何其他引用,该变量的名称等等都需要额外的内存。

PHP将值存储在zval *中,因此除了实际值之外,还有用于存储zval详细信息的所有附加字节。