この記事では、スクリプトのパフォーマンスを分析できるようにするために、PHP のメモリ使用量を取得する方法を主に紹介します。興味のある友人は参考にしていただければ幸いです。
PHP 組み込み関数memory_get_usage() は、PHP スクリプトに現在割り当てられているメモリ量をバイト単位で返すことができます。実際のWEB開発において、これらの機能は非常に便利で、PHPコードのパフォーマンスをデバッグするために使用できます。
memory_get_usage() 関数はメモリ使用量を返し、memory_get_peak_usage() 関数はピークメモリ使用量を返し、getrusage() は CUP 使用量を返します。ただし、これらの機能は Linux 上で実行する必要があることに注意してください。
例を見てみましょう:
echo '开始内存:'.memory_get_usage(), ''; $tmp = str_repeat('hello', 1000); echo '运行后内存:'.memory_get_usage(), ''; unset($tmp); echo '回到正常内存:'.memory_get_usage();
出力結果:
開始メモリ: 147296
実行後メモリ: 152456
通常に戻るメモリ: 147296
でこの例では、str_repeat() を使用して文字列「hello」を 1000 回繰り返し、最後に前後で消費されたメモリ サイズを比較します。上記の例からわかるように、メモリ使用量を減らすために、unset() 関数を使用して不要になった変数を削除できます。 mysql_free_result() 関数と同様に、データのクエリによって取得された結果セットが必要なくなった場合、それを使用してクエリによって占有されていたメモリを解放できます。
関数memory_get_usage()は、値がブール値であるパラメータ$real_usageを持つこともできます。 TRUE に設定すると、システムによって割り当てられた実際のメモリ サイズを取得します。設定されていない場合、または FALSE に設定されている場合、emalloc() は使用されているメモリ量を報告します。
実際のWEB開発では、PHPのmemory_get_usage()を使用して各メソッドのメモリ使用量を比較し、メモリ使用量が少ないメソッドを選択できます。
関数memory_get_usage()によって返されるバイト数(単位:バイト)。
次のカスタム関数は、読みやすくするためにバイト数を MB に変換します:
function memory_usage() { $memory = ( ! function_exists('memory_get_usage')) ? '0' : round(memory_get_usage()/1024/1024, 2).'MB'; return $memory; }
PHP コードのデバッグとパフォーマンスの検出に一般的に使用されるメソッドは次のとおりです:
memory_get_usage はメモリ フットプリントを分析できます。
microtime関数を使用してプログラムの実行時間を分析します。
関連する推奨事項:
php スクリプトの実行時間を計算するにはどうすればよいですか?
PHPのパフォーマンス分析と実験: パフォーマンスの巨視的分析
PHPのパフォーマンス分析と実験: パフォーマンスの微視的分析
以上がPHPのメモリ使用量を取得するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。