php メモリ使用量測定メモ
Rails系の記事ばかりだったが、久々にphpでメモリの使用量を計測する機会があったので、やり方をメモっておく。
phpに割り当てられた現在のメモリ使用量を測定
memory_get_usage()
を使用する。
http://php.net/manual/ja/function.memory-get-usage.php
<?php echo "first:".memory_get_usage() / (1024 * 1024)."MB\n"; $arr = []; for($i=0;$i<10000;$i++) { $arr[] = $i; } echo "now:".memory_get_usage() / (1024 * 1024)."MB\n";
output
first:0.21486663818359MB now:1.6373443603516MB
phpに割り当てられたメモリ使用量の最大値を取得
memory_get_peak_usage()
を使用する。
http://php.net/manual/ja/function.memory-get-peak-usage.php
<?php echo "first:".memory_get_usage() / (1024 * 1024)."MB\n"; $arr = []; for($i=0;$i<10000;$i++) { $arr[] = $i; } //半分開放する for($i=0;$i<5000;$i++) { unset($arr[$i]); } echo "now:".memory_get_usage() / (1024 * 1024)."MB\n"; echo "peak:".memory_get_peak_usage() / (1024 * 1024)."MB\n";
output
first:0.21579742431641MB now:0.98969268798828MB peak:1.6398239135742MB