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"]; // ブロック出力操作の回数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"]; // 使用するシステム時間 (マイクロ秒)?>
変更履歴
バージョン | 説明 |
---|---|
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 ページ