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 ページ