スポンサーリンク

VTIMES(3) FreeBSD ライブラリ関数マニュアル VTIMES(3)

名称

vtimes − リソース利用についての情報を取得

書式

#include <sys/vtimes.h>

vtimes(struct vtimes *par_vm, struct vtimes *ch_vm);

解説

このインタフェースは、getrusage(2) によって置き換えられました。この関数 は、互換性ライブラリ、libcompat から使用できます。

vtimes() 関数は、現在のプロセスおよび現在のプロセスの終了した子プロセスの アカウント情報を返します。 par_vm または ch_vm のどちらか一方、またはこれ ら両方は 0 でも構いません。この場合には、非ゼロであるポインタについての情 報のみが返されます。

この関数を呼び出した後は、各バッファにはインクルードファイル /usr/include/sys/vtimes.h の内容によって定義された次のような情報が入りま す。

      struct vtimes {

int

vm_utime;

/* user time (*HZ) */

int

vm_stime;

/* system time (*HZ) */

/* divide next two by utime+stime to get averages */

unsigned vm_idsrss;

/* integral of d+s rss */

unsigned vm_ixrss;

/* integral of text rss */

int

vm_maxrss;

/* maximum rss */

int

vm_majflt;

/* major page faults */

int

vm_minflt;

/* minor page faults */

int

vm_nswap;

/* number of swaps */

int

vm_inblk;

/* block reads */

int

vm_oublk;

/* block writes */

};

vm_utime および vm_stime のフィールドは、60 分の 1 秒 (ローカルの交流の周 波数が 50 Hz の場合は 50 分の 1 秒) の単位でそれぞれユーザ時間とシステム 時間を示します。 vm_idrss および vm_ixrss は、メモリの使用度を測ります。 それぞれ、 CPU 時間に対する使用メモリページの数を積分して計算します。これ らは、クロックが 1 回刻む度に現在のメモリ使用(512 バイトページの単位で)を 加算して、離散的に計算したかのように示されます。あるプロセスがデータおよ びスタックについて 1 cpu 秒に 5 コアページを使った場合は、 vm_idsrss は 5*60 の値を持ち、ここで vm_utime+vm_stime は 60 となります。引数 Vm_idsrss はデータとスタックのセグメント使用度を積算し、 vm_ixrss はテキ ストセグメントの使用度を積算します。 Vm_maxrss 関数は、テキスト+データ+ス タックのコア駐在のページカウントの最大瞬間総和を示します。

vm_majflt フィールドは、ディスク動作に結びついたページフォールトの数を示 します。 vm_minflt フィールドは、参照ビットのシミュレーションで引き起こさ れたページフォールトの数を示します。 vm_nswap は、起こったスワップの数で す。ファイルシステムの入力/出力イベントの回数は、 vm_inblk および vm_oublk によって示されます。これらの数字は、実際の I/O のみを数えます。 キャッシング機構によって供給されたデータは、そのデータを読み書きする最初 のプロセスに対してのみ勘定されます。

参照

getrusage(2), wait3(2), time(3)

歴史

vlimit() 関数は、 4.2BSD に現れました。

バグ

この関数は、未だに再実装されていません。

4th Berkeley Distribution June 4, 1993 4th Berkeley Distribution

スポンサーリンク