PHPが使用するメモリ算出は、負荷がかかるバッチ処理等で、どこまで耐えられるかを検証したり、その際のサーバスペック算出の指標したりと様々なケースで必要になるかと思いますので、その算出方法を記載したいと思います。
今回使用するPHPの関数は以下の二つとなります。
memory_get_usage()
PHPに割り当てられた現在のメモリ使用量を出力してくれます。
memory_get_peak_usage()
PHPに割り当てられたメモリ使用量の最大値を出力してくれます。
メモリ計測
早速、メモリを計測したいと思います。
$startUseMemory = memory_get_usage();
echo '処理開始時[メモリ使用量]' . $startUseMemory / (1024 * 1024) . "MB\n";
// ここに計測したい処理を書きます
echo '処理終了時[メモリ使用量]' . memory_get_usage() / (1024 * 1024) . "MB\n";
echo '処理終了時[メモリ最大使用量]' . memory_get_peak_usage() / (1024 * 1024) . "MB\n";
echo '処理終了時[処理が使用したメモリ量]' . (memory_get_peak_usage() - $startUseMemory) / (1024 * 1024) . "MB\n";
出力結果
処理開始時[メモリ使用量]13.324188232422MB
処理終了時[メモリ使用量]13.324188232422MB
処理終了時[メモリ最大使用量]13.440155029297MB
処理終了時[処理が使用したメモリ量]0.115966796875MB
今回、間に書いていた処理は軽い処理なので、「0.115966796875MB」しか使用しておりません。
コメント