Annotation of 43BSDReno/lib/libc/sys/getrusage.2, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1985 The Regents of the University of California.
        !             2: .\" All rights reserved.
        !             3: .\"
        !             4: .\" Redistribution and use in source and binary forms are permitted provided
        !             5: .\" that: (1) source distributions retain this entire copyright notice and
        !             6: .\" comment, and (2) distributions including binaries display the following
        !             7: .\" acknowledgement:  ``This product includes software developed by the
        !             8: .\" University of California, Berkeley and its contributors'' in the
        !             9: .\" documentation or other materials provided with the distribution and in
        !            10: .\" all advertising materials mentioning features or use of this software.
        !            11: .\" Neither the name of the University nor the names of its contributors may
        !            12: .\" be used to endorse or promote products derived from this software without
        !            13: .\" specific prior written permission.
        !            14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
        !            15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
        !            16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            17: .\"
        !            18: .\"    @(#)getrusage.2 6.8 (Berkeley) 6/23/90
        !            19: .\"
        !            20: .TH GETRUSAGE 2 "June 23, 1990"
        !            21: .UC 4
        !            22: .SH NAME
        !            23: getrusage \- get information about resource utilization
        !            24: .SH SYNOPSIS
        !            25: .nf
        !            26: .ft B
        !            27: #include <sys/time.h>
        !            28: #include <sys/resource.h>
        !            29: .PP
        !            30: .ft B
        !            31: .ta \w'#define 'u +\w'RUSAGE_CHILDREN  'u +\w'-1        'u
        !            32: #define        RUSAGE_SELF     0       /* calling process */
        !            33: #define        RUSAGE_CHILDREN -1      /* terminated child processes */
        !            34: .DT
        !            35: .PP
        !            36: .ft B
        !            37: getrusage(who, rusage)
        !            38: int who;
        !            39: struct rusage *rusage;
        !            40: .fi
        !            41: .SH DESCRIPTION
        !            42: .I Getrusage
        !            43: returns information describing the resources utilized by the current
        !            44: process, or all its terminated child processes.
        !            45: The
        !            46: .I who
        !            47: parameter is either RUSAGE_SELF or RUSAGE_CHILDREN.
        !            48: The buffer to which
        !            49: .I rusage
        !            50: points will be filled in with
        !            51: the following structure:
        !            52: .PP
        !            53: .RS
        !            54: .nf
        !            55: struct rusage {
        !            56:        struct timeval ru_utime;        /* user time used */
        !            57:        struct timeval ru_stime;        /* system time used */
        !            58:        long ru_maxrss;         /* integral max resident set size */
        !            59:        long ru_ixrss;                  /* integral shared text memory size */
        !            60:        long ru_idrss;                  /* integral unshared data size */
        !            61:        long ru_isrss;                  /* integral unshared stack size */
        !            62:        long ru_minflt;         /* page reclaims */
        !            63:        long ru_majflt;         /* page faults */
        !            64:        long ru_nswap;                  /* swaps */
        !            65:        long ru_inblock;                /* block input operations */
        !            66:        long ru_oublock;                /* block output operations */
        !            67:        long ru_msgsnd;         /* messages sent */
        !            68:        long ru_msgrcv;         /* messages received */
        !            69:        long ru_nsignals;               /* signals received */
        !            70:        long ru_nvcsw;                  /* voluntary context switches */
        !            71:        long ru_nivcsw;         /* involuntary context switches */
        !            72: };
        !            73: .fi
        !            74: .RE
        !            75: .PP
        !            76: The fields are interpreted as follows:
        !            77: .TP 15
        !            78: ru_utime
        !            79: the total amount of time spent executing in user mode.
        !            80: .TP 15
        !            81: ru_stime
        !            82: the total amount of time spent in the system executing on behalf
        !            83: of the process(es).
        !            84: .TP 15
        !            85: ru_maxrss
        !            86: the maximum resident set size utilized (in kilobytes).
        !            87: .TP 15
        !            88: ru_ixrss
        !            89: an \*(lqintegral\*(rq value indicating the amount of memory used
        !            90: by the text segment
        !            91: that was also shared among other processes.  This value is expressed
        !            92: in units of kilobytes * ticks-of-execution.
        !            93: .TP 15
        !            94: ru_idrss
        !            95: an integral value of the amount of unshared memory residing in the
        !            96: data segment of a process (expressed in units of
        !            97: kilobytes * ticks-of-execution).
        !            98: .TP 15
        !            99: ru_isrss
        !           100: an integral value of the amount of unshared memory residing in the
        !           101: stack segment of a process (expressed in units of
        !           102: kilobytes * ticks-of-execution).
        !           103: .TP 15
        !           104: ru_minflt
        !           105: the number of page faults serviced without any I/O activity; here
        !           106: I/O activity is avoided by \*(lqreclaiming\*(rq a page frame from
        !           107: the list of pages awaiting reallocation.
        !           108: .TP 15
        !           109: ru_majflt
        !           110: the number of page faults serviced that required I/O activity.
        !           111: .TP 15
        !           112: ru_nswap
        !           113: the number of times a process was \*(lqswapped\*(rq out of main
        !           114: memory.
        !           115: .TP 15
        !           116: ru_inblock
        !           117: the number of times the file system had to perform input.
        !           118: .TP 15
        !           119: ru_oublock
        !           120: the number of times the file system had to perform output.
        !           121: .TP 15
        !           122: ru_msgsnd
        !           123: the number of IPC messages sent.
        !           124: .TP 15
        !           125: ru_msgrcv
        !           126: the number of IPC messages received.
        !           127: .TP 15
        !           128: ru_nsignals
        !           129: the number of signals delivered.
        !           130: .TP 15
        !           131: ru_nvcsw
        !           132: the number of times a context switch resulted due to a process
        !           133: voluntarily giving up the processor before its time slice was
        !           134: completed (usually to await availability of a resource).
        !           135: .TP 15
        !           136: ru_nivcsw
        !           137: the number of times a context switch resulted due to a higher
        !           138: priority process becoming runnable or because the current process
        !           139: exceeded its time slice.
        !           140: .SH NOTES
        !           141: The numbers 
        !           142: .I ru_inblock
        !           143: and 
        !           144: .I ru_oublock
        !           145: account only for real
        !           146: I/O; data supplied by the caching mechanism is charged only
        !           147: to the first process to read or write the data.
        !           148: .SH ERRORS
        !           149: .I Getrusage
        !           150: returns -1 on error.
        !           151: The possible errors are:
        !           152: .TP 15
        !           153: [EINVAL]
        !           154: The
        !           155: .I who
        !           156: parameter is not a valid value.
        !           157: .TP 15
        !           158: [EFAULT]
        !           159: The address specified by the
        !           160: .I rusage
        !           161: parameter is not in a valid part of the process address space.
        !           162: .SH SEE ALSO
        !           163: gettimeofday(2), wait(2)
        !           164: .SH BUGS
        !           165: There is no way to obtain information about a child process
        !           166: 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.