【PHP8.x】getrusage関数の使い方

作成日: 更新日:

getrusage関数は、現在のPHPスクリプトや、そのスクリプトによって実行され終了した子プロセスのリソース使用状況に関する詳細な情報を取得する関数です。この関数を利用することで、プログラムがどれだけのCPU時間を使ったか、どのくらいのメモリを消費したか、ディスクアクセスがどの程度発生したかなど、システムが利用しているリソースの統計情報を正確に把握することができます。

引数modeにはオプションで整数値を指定でき、RUSAGE_SELFを指定すると現在のPHPスクリプト自身のリソース使用状況を、RUSAGE_CHILDRENを指定すると終了し回収された子プロセスのリソース使用状況を取得します。この引数を省略した場合や、Windows環境では、常にRUSAGE_SELFが適用されます。

関数が正常に実行されると、リソース使用状況が格納された連想配列が返されます。この配列には、ユーザーモードとカーネルモードで消費されたCPU時間(それぞれ秒とマイクロ秒で提供)、プロセスが使用した最大常駐セットサイズ(メモリ使用量)、ディスクI/O操作の回数、ページフォルトの発生回数など、多岐にわたる統計情報が含まれています。

この関数は、PHPアプリケーションのパフォーマンスを分析したり、ボトルネックを特定したりする際に非常に有用です。特定の処理の前後でこの関数を呼び出し、リソース使用量の変化を比較することで、その処理がシステムに与える負荷を詳細に計測することが可能になります。取得できる統計情報はオペレーティングシステムに依存するため、すべての情報が常に利用可能であるとは限りません。

基本的な使い方

構文(syntax)

getrusage(int $mode = 0): array|false

引数(parameters)

int $mode = 0

  • int $mode = 0: 取得するリソース使用状況のモードを指定する整数

戻り値(return)

array|false

getrusage関数は、現在のプロセスまたは子プロセスのリソース使用状況に関する情報を含む配列を返します。リソース使用状況の取得に失敗した場合はfalseを返します。

【PHP8.x】getrusage関数の使い方 | いっしー@Webエンジニア