vtimes - get information about resource utilization

#include <sys/vtimes.h>

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

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

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

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