getrusage
現在のリソース使用状況を取得する
説明
arrayfalse getrusage(int $mode
= 0)
パラメータ
-
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 ページ