NAME
vtimes - get information about resource utilization
SYNOPSIS
#include <sys/vtimes.h>
vtimes(par_vm, ch_vm)
struct vtimes *par_vm, *ch_vm;
DESCRIPTION
This facility is superseded by getrusage(2).
Vtimes returns accounting
information for the current process and
for the terminated child processes of the current process.
Either
par_vm or ch_vm or both may be 0, in which case only the
information for the pointers which are non-zero is
returned.
After the call, each buffer
contains information as defined by the
contents of the include file <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 */
};
The vm_utime and vm_stime fields
give the user and system time
respectively in 60ths of a second (or 50ths if that is the
frequency of wall current in your locality.) The vm_idrss
and
vm_ixrss measure memory usage. They are computed by
integrating
the number of memory pages in use each over cpu time. They
are
reported as though computed discretely, adding the current
memory
usage (in 512 byte pages) each time the clock ticks. If a
process
used 5 core pages over 1 cpu-second for its data and stack,
then
vm_idsrss would have the value 5*60, where vm_utime+vm_stime
would
be the 60. Vm_idsrss integrates data and stack segment
usage, while
vm_ixrss integrates text segment usage. Vm_maxrss reports
the
maximum instantaneous sum of the text+data+stack
core-resident page
count.
The vm_majflt field gives the
number of page faults which resulted
in disk activity; the vm_minflt field gives the number of
page
faults incurred in simulation of reference bits; vm_nswap is
the
number of swaps which occurred. The number of file system
input/output events are reported in vm_inblk and vm_oublk
These
numbers account only for real i/o; data supplied by the
caching
mechanism is charged only to the first process to read or
write the
data.
SEE ALSO
time(2), wait3(2), getrusage(2)