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 のみを数えます。 キャッシング機構によって供給されたデータは、そのデータを読み書きする最初 のプロセスに対してのみ勘定されます。 |
参照
歴史
vlimit() 関数は、 4.2BSD に現れました。 |
バグ
この関数は、未だに再実装されていません。 4th Berkeley Distribution June 4, 1993 4th Berkeley Distribution |