(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)
memory_get_usage — PHP スクリプトに割り当てられたメモリの量、または PHP のメモリマネージャーがシステムから確保したメモリの量を返す
PHP のメモリマネージャーが現在 PHP スクリプトに割り当てているメモリの量を、バイト単位で返します。 報告される値はアロケータの割り当て単位に切り上げられるため、実際に要求されたバイト数よりも大きくなります。
real_usage
これを true に設定すると、PHP のメモリマネージャーがシステムから確保したメモリの総量 (現在使われていないページも含む) を取得します。
memory_limit による制限は、この値に対して適用されます。
これは、オペレーティングシステムが PHP プロセスに与えたメモリの量ではありません。
オペレーティングシステムが与えるメモリは、通常これよりもはるかに大きくなります。
省略したり false を設定したりすると、現在 PHP スクリプトに割り当てられているメモリのみを報告します。
注意:
PHP が追跡するのは、自身のメモリマネージャーを通じて、つまり内部関数
emalloc()やその関連関数を通じて割り当てられたメモリだけです。 永続的に割り当てられたメモリや、拡張モジュールがmalloc()で直接割り当てたメモリは、real_usageがtrueの場合でも報告されません。
メモリの量をバイト単位で返します。
例1 memory_get_usage() の例
<?php
// これは単なる例にすぎません。
// 以下の数値はシステムによって変化します。
echo memory_get_usage(), "\n"; // 36640
$a = str_repeat("Hello", 4242);
echo memory_get_usage(), "\n"; // 57960
unset($a);
echo memory_get_usage(), "\n"; // 36744
?>