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

名称
ライブラリ
書式
解説
戻り値
エラー
関連項目
バグ
歴史

jman



Time: 07:06:26 GMT, January 12, 2009