現在のリソース使用状況を取得する

# getrusage

(PHP 4, PHP 5, PHP 7)

getrusage — 現在のリソース使用状況を取得する

### 説明

getrusage ([ int `$who` = 0 ] ) : array

この関数は、getrusage(2) へのインターフェイスです。 システムコールから返されたデータを含む連想配列を返します。

### パラメータ

`who`

  `who` が 1 の場合、getrusage は `RUSAGE_CHILDREN` を付けてコールされます。

### 返り値

システムコールから返されたデータを含む連想配列を返します。 すべてのエントリは、記述されたフィールド名を用いてアクセス可能です。

### 例

例1 getrusage() の例

`<?php
$dat = getrusage();
echo $dat["ru_oublock"]; // number of block output operations
echo $dat["ru_inblock"]; // number of block input operations
echo $dat["ru_msgsnd"]; // IPC メッセージの送信数
echo $dat["ru_msgrcv"]; // IPC メッセージの受信数
echo $dat["ru_maxrss"]; // maximum resident set size
echo $dat["ru_ixrss"]; // integral shared memory size
echo $dat["ru_idrss"]; // integral unshared data size
echo $dat["ru_minflt"]; // number of page reclaims (soft page faults)
echo $dat["ru_majflt"]; // ページフォルトの数 (hard page faults)
echo $dat["ru_nsignals"]; // number of signals received
echo $dat["ru_nvcsw"]; // number of voluntary context switches
echo $dat["ru_nivcsw"]; // number of involuntary context switches
echo $dat["ru_nswap"]; // スワップの数
echo $dat["ru_utime.tv_usec"]; // 使用するユーザー時間 (マイクロ秒)
echo $dat["ru_utime.tv_sec"]; // 使用するユーザー時間 (秒)
echo $dat["ru_stime.tv_usec"]; // 使用するシステム時間 (マイクロ秒)
?>`

### 変更履歴

バージョン | 説明
--- | ---
7.0.0 | この関数は、Windows でサポートされるようになりました。

### 注意

> 注意:

> Windows では、getrusage() は以下のメンバーしか帰しません。

> - "ru_stime.tv_sec"
> - "ru_stime.tv_usec"
> - "ru_utime.tv_sec"
> - "ru_utime.tv_usec"
> - "ru_majflt" (`who` が `RUSAGE_SELF` である場合のみ)
> - "ru_maxrss" (`who` が `RUSAGE_SELF` である場合のみ)

> getrusage() を呼び出す際に `who` に 1 (`RUSAGE_CHILDREN`) を指定すると、 各スレッドのリソース使用状況を収集します (つまり、内部的には `RUSAGE_THREAD` を指定してこの関数が呼ばれるということです)。

> 注意:

> BeOS 2000 では、以下のメンバーしか返しません。

> - "ru_stime.tv_sec"
> - "ru_stime.tv_usec"
> - "ru_utime.tv_sec"
> - "ru_utime.tv_usec"

### 参考

- getrusage(2) についてのシステムの man ページ