GETRUSAGE
Section: System Calls (2)
索引
jman
BSD mandoc
索引
名称
getrusage
- リソース利用についての情報を得る
索引
ライブラリ
Lb libc
索引
書式
In sys/types.h
In sys/time.h
In sys/resource.h
Fd #define RUSAGE_SELF 0
Fd #define RUSAGE_CHILDREN-1
Ft int
Fn getrusage int who struct rusage *rusage
索引
解説
Fn getrusage
システムコールは、現在のプロセス、またはそのプロセスが生成して、終了済みである
すべての子プロセスが使用したリソースを詳しく説明する情報を返します。
Fa who
引数は
RUSAGE_SELF
または
RUSAGE_CHILDREN
のどちらかです。
Fa rusage
が指すバッファには次の構造体が入れられます。
struct rusage {
struct timeval ru_utime; /* 使用されたユーザ時間 */
struct timeval ru_stime; /* 使用されたシステム時間 */
long ru_maxrss; /* 最大常駐セットのサイズ */
long ru_ixrss; /* 共有テキストメモリ総サイズ */
long ru_idrss; /* 非共有データ総サイズ */
long ru_isrss; /* 非共有スタック総サイズ */
long ru_minflt; /* ページ再生数 */
long ru_majflt; /* ページフォルト */
long ru_nswap; /* スワップ */
long ru_inblock; /* ブロック入力操作 */
long ru_oublock; /* ブロック出力操作 */
long ru_msgsnd; /* 送信済みメッセージ */
long ru_msgrcv; /* 受信済みメッセージ */
long ru_nsignals; /* 受信済みシグナル */
long ru_nvcsw; /* 自発的なコンテキストスイッチ */
long ru_nivcsw; /* 非自発的なコンテキストスイッチ */
};
フィールドは次のように解釈されます:
- Fa ru_utime
-
ユーザモードで処理を実行するのに費やした時間の合計。
- Fa ru_stime
-
(1 つ以上の) プロセスのためにシステムが処理を実行するのに
消費した時間の合計。
- Fa ru_maxrss
-
使用された常駐セットサイズの最大値 (キロバイト単位)。
- Fa ru_ixrss
-
他のプロセスとの間でも共有されていたテキストセグメント
によって使用されたメモリ量の
``合計''
値。
この値は「キロバイト * 実行のチック数」の単位で表現されます。
チックは統計用のクロックチックです。
統計用クロックの周波数は
Fn sysconf _SC_CLK_TCK
チック / 秒です。
- Fa ru_idrss
-
プロセスのデータセグメントに常駐している非共有メモリ量の合計値
(「キロバイト * 実行のチック数」の単位で表現されます)。
- Fa ru_isrss
-
プロセスのスタックセグメントに常駐している非共有メモリ量の合計値
(「キロバイト * 実行のチック数」の単位で表現されます)。
- Fa ru_minflt
-
入出力アクティビティなしにサービスを受けたページフォルトの数。
ここで、入出力アクティビティは、再割り当てを待っているページの
リストからページフレームを
``再生''
することで回避されます。
- Fa ru_majflt
-
入出力アクティビティを必要としたサービスを受けたページフォルトの数。
- Fa ru_nswap
-
プロセスがメインメモリから
``スワップ''
された回数。
- Fa ru_inblock
-
ファイルシステムが入力を実行する必要があった回数。
- Fa ru_oublock
-
ファイルシステムが出力を実行する必要があった回数。
- Fa ru_msgsnd
-
送信された IPC メッセージの数。
- Fa ru_msgrcv
-
受信した IPC メッセージの数。
- Fa ru_nsignals
-
配信されたシグナルの数。
- Fa ru_nvcsw
-
タイムスライスが完了する前に、プロセスが自発的にプロセッサを
放棄した結果として発生したコンテキストスイッチの回数
(通常はリソースの取得待ちをするためです)。
- Fa ru_nivcsw
-
より高い優先順位プロセスが実行可能になったために、
または現在のプロセスがそのタイムスライスを超過したために、
結果として発生したコンテキストスイッチの回数。
索引
注
Fa ru_inblock
と
Fa ru_oublock
の値は実際の入出力だけについてのものです。
キャッシュメカニズムによって提供されるデータは、データを読取りまたは
書込みを行う最初のプロセスについてのみカウントされます。
索引
戻り値
Rv -std getrusage
索引
エラー
Fn getrusage
システムコールは次の場合に処理を失敗します:
- Bq Er EINVAL
-
Fa who
引数が有効な値ではありません。
- Bq Er EFAULT
-
Fa rusage
引数によって指定されるアドレスは、プロセスアドレス空間の
有効な部分内にありません。
索引
関連項目
gettimeofday(2),
wait(2),
clocks(7)
索引
バグ
まだ終了していない子プロセスに関する情報を得る方法はありません。
索引
歴史
Fn getrusage
システムコールは
BSD 4.2
で登場しました。
索引
Index
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 注
-
- 戻り値
-
- エラー
-
- 関連項目
-
- バグ
-
- 歴史
-
Time: 07:06:26 GMT, January 12, 2009