memory_get_usage
PHP Manual
PHP Manual»PHP オプション/情報 関数»memory_get_usage

memory_get_usage

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

memory_get_usage — PHP スクリプトに割り当てられたメモリの量、または PHP のメモリマネージャーがシステムから確保したメモリの量を返す

説明

function memory_get_usage(bool $real_usage = false): int

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

?>

参考

To Top