Annotation of cci/usr/src/man/man2/getrusage.2, revision 1.1.1.1

1.1       root        1: .TH GETRUSAGE 2 "18 July 1983"
                      2: .UC 4
                      3: .SH NAME
                      4: getrusage \- get information about resource utilization
                      5: .SH SYNOPSIS
                      6: .nf
                      7: .ft B
                      8: #include <sys/time.h>
                      9: #include <sys/resource.h>
                     10: .PP
                     11: .ft B
                     12: .ta \w'#define 'u +\w'RUSAGE_CHILDREN  'u +\w'-1        'u
                     13: #define        RUSAGE_SELF     0       /* calling process */
                     14: #define        RUSAGE_CHILDREN -1      /* terminated child processes */
                     15: .DT
                     16: .PP
                     17: .ft B
                     18: getrusage(who, rusage)
                     19: int who;
                     20: struct rusage *rusage;
                     21: .fi
                     22: .SH DESCRIPTION
                     23: .I Getrusage
                     24: returns information describing the resources utilized by the current
                     25: process, or all its terminated child processes.
                     26: The
                     27: .I who
                     28: parameter is one of RUSAGE_SELF and RUSAGE_CHILDREN.
                     29: If
                     30: .I rusage
                     31: is non-zero, the buffer it points to will be filled in with
                     32: the following structure:
                     33: .PP
                     34: .nf
                     35: .RS
                     36: .ta \w'struct  'u +\w'struct  'u +3u*\w'struct  'u
                     37: struct rusage {
                     38:        struct timeval ru_utime;        /* user time used */
                     39:        struct timeval ru_stime;        /* system time used */
                     40:        int     ru_maxrss;
                     41:        int     ru_ixrss;       /* integral shared memory size */
                     42:        int     ru_idrss;       /* integral unshared data size */
                     43:        int     ru_isrss;       /* integral unshared stack size */
                     44:        int     ru_minflt;      /* page reclaims */
                     45:        int     ru_majflt;      /* page faults */
                     46:        int     ru_nswap;       /* swaps */
                     47:        int     ru_inblock;     /* block input operations */
                     48:        int     ru_oublock;     /* block output operations */
                     49:        int     ru_msgsnd;      /* messages sent */
                     50:        int     ru_msgrcv;      /* messages received */
                     51:        int     ru_nsignals;    /* signals received */
                     52:        int     ru_nvcsw;       /* voluntary context switches */
                     53:        int     ru_nivcsw;      /* involuntary context switches */
                     54: };
                     55: .RE
                     56: .DT
                     57: .fi
                     58: .PP
                     59: The fields are interpreted as follows:
                     60: .TP 15
                     61: ru_utime
                     62: the total amount of time spent executing in user mode.
                     63: .TP 15
                     64: ru_stime
                     65: the total amount of time spent in the system executing on behalf
                     66: of the process(es).
                     67: .TP 15
                     68: ru_maxrss
                     69: the maximum resident set size utilized (in kilobytes).
                     70: .TP 15
                     71: ru_ixrss
                     72: an \*(lqintegral\*(rq value indicating the amount of memory used
                     73: which was also shared among other processes.  This value is expressed
                     74: in units of kilobytes * seconds-of-execution and is calculated by
                     75: summing the number of shared memory pages in use each time the internal
                     76: system clock ticks and then averaging over 1 second intervals.
                     77: .TP 15
                     78: ru_idrss
                     79: an integral value of the amount of unshared memory residing in the
                     80: data segment of a process (expressed in units of
                     81: kilobytes * seconds-of-execution).
                     82: .TP 15
                     83: ru_isrss
                     84: an integral value of the amount of unshared memory residing in the
                     85: stack segment of a process (expressed in units of
                     86: kilobytes * seconds-of-execution).
                     87: .TP 15
                     88: ru_minflt
                     89: the number of page faults serviced without any i/o activity; here
                     90: i/o activity is avoided by \*(lqreclaiming\*(rq a page frame from
                     91: the list of pages awaiting reallocation.
                     92: .TP 15
                     93: ru_majflt
                     94: the number of page faults serviced which required i/o activity.
                     95: .TP 15
                     96: ru_nswap
                     97: the number of times a process was \*(lqswapped\*(rq out of main
                     98: memory.
                     99: .TP 15
                    100: ru_inblock
                    101: the number of times the file system had to perform input.
                    102: .TP 15
                    103: ru_outblock
                    104: the number of times the file system had to perform output.
                    105: .TP 15
                    106: ru_msgsnd
                    107: the number of ipc messages sent.
                    108: .TP 15
                    109: ru_msgrcv
                    110: the number of ipc messages received.
                    111: .TP 15
                    112: ru_nsignals
                    113: the number of signals delivered.
                    114: .TP 15
                    115: ru_nvcsw
                    116: the number of times a context switch resulted due to a process
                    117: voluntarily giving up the processor before its time slice was
                    118: completed (usually to await availability of a resource).
                    119: .TP 15
                    120: ru_nivcsw
                    121: the number of times a context switch resulted due to a higher
                    122: priority process becoming runnable or because the current process
                    123: exceeded its time slice.
                    124: .SH NOTES
                    125: The numbers 
                    126: .I ru_inblock
                    127: and 
                    128: .I ru_outblock
                    129: account only for real
                    130: i/o; data supplied by the cacheing mechanism is charged only
                    131: to the first process to read or write the data.
                    132: .SH SEE ALSO
                    133: gettimeofday(2), wait(2)
                    134: .SH BUGS
                    135: There is no way to obtain information about a child process
                    136: which has not yet terminated.

unix.superglobalmegacorp.com

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