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