array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.getrusage.php', 1 => 'getrusage', ), 'up' => array ( 0 => 'ref.info.php', 1 => 'PHP オプション/情報 関数', ), 'prev' => array ( 0 => 'function.getopt.php', 1 => 'getopt', ), 'next' => array ( 0 => 'function.ini-alter.php', 1 => 'ini_alter', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/info/functions/getrusage.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
getrusage — 現在のリソース使用状況を取得する
この関数は、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"]; // 使用するシステム時間 (マイクロ秒)
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"