Annotation of 43BSDReno/lib/libcompat/4.1/vtimes.3, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1980 Regents of the University of California.
                      2: .\" All rights reserved.  The Berkeley software License Agreement
                      3: .\" specifies the terms and conditions for redistribution.
                      4: .\"
                      5: .\"    @(#)vtimes.3    6.4 (Berkeley) 5/17/89
                      6: .\"
                      7: .TH VTIMES 3C "May 17, 1989"
                      8: .UC 4
                      9: .SH NAME
                     10: vtimes \- get information about resource utilization
                     11: .SH SYNOPSIS
                     12: .nf
                     13: .PP
                     14: .B "#include <sys/vtimes.h>"
                     15: .PP
                     16: .B "vtimes(par_vm, ch_vm)"
                     17: .B "struct vtimes *par_vm, *ch_vm;"
                     18: .fi
                     19: .SH DESCRIPTION
                     20: .ft B
                     21: This interface is obsoleted by getrusage(2).
                     22: .br
                     23: It is available from the compatibility library, libcompat.
                     24: .ft R
                     25: .PP
                     26: .I Vtimes
                     27: returns accounting information for the current process and for
                     28: the terminated child processes of the current
                     29: process.  Either
                     30: .I par_vm
                     31: or 
                     32: .I ch_vm
                     33: or both may be 0, in which case only the information for the pointers
                     34: which are non-zero is returned.
                     35: .PP
                     36: After the call, each buffer contains information as defined by the
                     37: contents of the include file
                     38: .I /usr/include/sys/vtimes.h:
                     39: .LP
                     40: .nf
                     41: struct vtimes {
                     42:        int     vm_utime;               /* user time (*HZ) */
                     43:        int     vm_stime;               /* system time (*HZ) */
                     44:        /* divide next two by utime+stime to get averages */
                     45:        unsigned vm_idsrss;             /* integral of d+s rss */
                     46:        unsigned vm_ixrss;              /* integral of text rss */
                     47:        int     vm_maxrss;              /* maximum rss */
                     48:        int     vm_majflt;              /* major page faults */
                     49:        int     vm_minflt;              /* minor page faults */
                     50:        int     vm_nswap;               /* number of swaps */
                     51:        int     vm_inblk;               /* block reads */
                     52:        int     vm_oublk;               /* block writes */
                     53: };
                     54: .fi
                     55: .PP
                     56: The
                     57: .I vm_utime
                     58: and
                     59: .I vm_stime
                     60: fields give the user and system
                     61: time respectively in 60ths of a second (or 50ths if that
                     62: is the frequency of wall current in your locality.) The
                     63: .I vm_idrss
                     64: and
                     65: .I vm_ixrss
                     66: measure memory usage.  They are computed by integrating the number of
                     67: memory pages in use each
                     68: over cpu time.  They are reported as though computed
                     69: discretely, adding the current memory usage (in 512 byte
                     70: pages) each time the clock ticks.  If a process used 5 core
                     71: pages over 1 cpu-second for its data and stack, then
                     72: .I vm_idsrss
                     73: would have the value 5*60, where
                     74: .I vm_utime+vm_stime
                     75: would be the 60.  
                     76: .I Vm_idsrss
                     77: integrates data and stack segment
                     78: usage, while
                     79: .I vm_ixrss
                     80: integrates text segment usage.
                     81: .I Vm_maxrss
                     82: reports the maximum instantaneous sum of the
                     83: text+data+stack core-resident page count.
                     84: .PP
                     85: The 
                     86: .I vm_majflt
                     87: field gives the number of page faults which
                     88: resulted in disk activity; the
                     89: .I vm_minflt
                     90: field gives the
                     91: number of page faults incurred in simulation of reference
                     92: bits;
                     93: .I vm_nswap
                     94: is the number of swaps which occurred.  The
                     95: number of file system input/output events are reported in
                     96: .I vm_inblk
                     97: and
                     98: .I vm_oublk
                     99: These numbers account only for real
                    100: i/o; data supplied by the caching mechanism is charged only
                    101: to the first process to read or write the data.
                    102: .SH SEE ALSO
                    103: time(2), wait3(2), getrusage(2)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.