2009年12月16日

[PHP-users 34884]メモリ使用量について

中出と申します。

PHPのメモリ使用量について教えてください。

<?php
echo memory_get_usage()."\n";
$a = range(1,10000);
echo memory_get_usage()."\n";

unset($a);
echo memory_get_usage()."\n";
?>

上記のようなスクリプトを実行してメモリ使用量をチェック
したところ以下のような結果になりました。

[admin@xxxxx ~]$ php -f a.php
10728
636352
25024
[admin@xxxxx ~]$


僕としては、スクリプト開始時のメモリ使用量と、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@xxxxx ~]$ php -f a.php
10744
32040
10824
[admin@xxxxx ~]$

のようになり納得できる結果となります。

以上、よろしくお願いします。

----

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2009年12月16日 08:57
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(1)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/91448
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。