(PHP 4, PHP 5, PHP 7, PHP 8)
getrusage — 現在のリソース使用状況を取得する
$mode
= 0): array|falseこの関数は、getrusage(2) へのインターフェイスです。 システムコールから返されたデータを含む連想配列を返します。
mode
mode
が 1 の場合、getrusage は RUSAGE_CHILDREN
を付けてコールされます。
システムコールから返されたデータを含む連想配列を返します。
すべてのエントリは、記述されたフィールド名を用いてアクセス可能です。
失敗時に false
を返します。
バージョン | 説明 |
---|---|
7.0.0 | この関数は、Windows でサポートされるようになりました。 |
例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"]; // 使用するシステム時間 (マイクロ秒)
?>
注意:
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"