[PHP-users 34884] メモリ使用量について
choice
info @ choice-site.com
2009年 12月 16日 (水) 08:57:10 JST
中出と申します。
PHPのメモリ使用量について教えてください。
<?php
echo memory_get_usage()."\n";
$a = range(1,10000);
echo memory_get_usage()."\n";
unset($a);
echo memory_get_usage()."\n";
?>
上記のようなスクリプトを実行してメモリ使用量をチェック
したところ以下のような結果になりました。
[admin @ sv ~]$ php -f a.php
10728
636352
25024
[admin @ sv ~]$
僕としては、スクリプト開始時のメモリ使用量と、unset後の
メモリ使用量はほぼ同じになるはずではと思うのですが、
2倍以上の差があります。
これは、なぜでしょうか?
また、ほぼ同じにする手段はありますでしょうか?
ちなみに
<?php
echo memory_get_usage()."\n";
$a = str_repeat("Hello", 4242);
echo memory_get_usage()."\n";
unset($a);
echo memory_get_usage()."\n";
?>
のように$aに配列ではなく文字列を入れると
[admin @ sv ~]$ php -f a.php
10744
32040
10824
[admin @ sv ~]$
のようになり納得できる結果となります。
以上、よろしくお願いします。
----
PHP-users メーリングリストの案内