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

# getrusage

(PHP 4, PHP 5, PHP 7, PHP 8)

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

### 説明

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

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

### パラメータ

`mode`

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

### 戻り値

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

### 例

例1 getrusage() の例

    <?php
    $dat = getrusage();
    echo $dat["ru_oublock"];       // ブロック出力操作の回数
    echo $dat["ru_inblock"];       // ブロック入力操作の回数
    echo $dat["ru_msgsnd"];        // IPC メッセージの送信数
    echo $dat["ru_msgrcv"];        // IPC メッセージの受信数
    echo $dat["ru_maxrss"];        // RAM 上に存在する仮想ページのサイズ(resident set size) の最大値
    echo $dat["ru_ixrss"];         // 共有メモリサイズの合計値
    echo $dat["ru_idrss"];         // 非共有データの合計サイズ
    echo $dat["ru_minflt"];        // ページの再利用 (ソフトページフォルト)
    echo $dat["ru_majflt"];        // ページフォルトの数 (hard page faults)
    echo $dat["ru_nsignals"];      // 受信したシグナル
    echo $dat["ru_nvcsw"];         // 意図したコンテキストスイッチ
    echo $dat["ru_nivcsw"];        // 意図しないコンテキストスイッチ
    echo $dat["ru_nswap"];         // スワップの数
    echo $dat["ru_utime.tv_usec"]; // 使用するユーザー時間 (マイクロ秒)
    echo $dat["ru_utime.tv_sec"];  // 使用するユーザー時間 (秒)
    echo $dat["ru_stime.tv_usec"]; // 使用するシステム時間 (マイクロ秒)
    echo $dat["ru_stime.tv_sec"];  // 使用するシステム時間 (秒)
    ?>

### 注意

> 注意:

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

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

> getrusage() を呼び出す際に `mode` に `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 ページ

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open