Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getrusage(2) — bsd — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

gettimeofday(2)

wait(2)



GETRUSAGE(2-BSD)    RISC/os Reference Manual     GETRUSAGE(2-BSD)



NAME
     getrusage - get information about resource utilization

SYNOPSIS
     #include <sys/time.h>
     #include <sys/resource.h>

     #define RUSAGESELF       0  /* calling process */
     #define RUSAGECHILDREN  -1  /* terminated child processes */

     getrusage(who, rusage)
     int who;
     struct rusage *rusage;

     mipsgetrusage(who, rusage, rusagesize)
     int who;
     struct rusage *rusage;
     int rusagesize;

DESCRIPTION
     getrusage returns information describing the resources util-
     ized by the current process, or all its terminated child
     processes.  mips_getrusage performs the same function as
     getrusage but takes a third argument which is the size of
     the rusage structure.  This interface will be used in the
     future to return MIPS hardware specific resource use infor-
     mation as the rusage structure is extended.

     The who parameter is one of RUSAGE_SELF or RUSAGE_CHILDREN.
     The buffer to which rusage points will be filled in with the
     following structure:

     struct  rusage {
             struct timeval ru_utime;/* user time used */
             struct timeval ru_stime;/* system time used */
             int   ru_maxrss;
             int   ru_ixrss;     /* integral shared text memory size */
             int   ru_idrss;     /* integral unshared data size */
             int   ru_isrss;     /* integral unshared stack size */
             int   ru_minflt;    /* page reclaims */
             int   ru_majflt;    /* page faults */
             int   ru_nswap;     /* swaps */
             int   ru_inblock;   /* block input operations */
             int   ru_oublock;   /* block output operations */
             int   ru_msgsnd;    /* messages sent */
             int   ru_msgrcv;    /* messages received */
             int   ru_nsignals;  /* signals received */
             int   ru_nvcsw;     /* voluntary context switches */
             int   ru_nivcsw;    /* involuntary context switches */
     };





                        Printed 11/19/92                   Page 1





GETRUSAGE(2-BSD)    RISC/os Reference Manual     GETRUSAGE(2-BSD)



     The fields are interpreted as follows:

          ru_utime     the total amount of time spent executing
                       in user mode.

          ru_stime     the total amount of time spent in the sys-
                       tem executing on behalf of the
                       process(es).

          ru_maxrss    the maximum resident set size utilized (in
                       number of pages).

          ru_ixrss     an "integral" value indicating the amount
                       of memory used by the text segment that
                       was also shared among other processes.
                       This value is expressed in units of number
                       of pages * seconds-of-execution and is
                       calculated by summing the number of shared
                       memory pages in use each time the internal
                       system clock ticks and then averaging over
                       1 second intervals.

          ru_idrss     an integral value of the amount of
                       unshared memory residing in the data seg-
                       ment of a process (expressed in units of
                       number of pages * seconds-of-execution).

          ru_isrss     an integral value of the amount of
                       unshared memory residing in the stack seg-
                       ment of a process (expressed in units of
                       number of pages * seconds-of-execution).

          ru_minflt    the number of page faults serviced without
                       any I/O activity; here I/O activity is
                       avoided by "reclaiming" a page frame from
                       the list of pages awaiting reallocation.

          ru_majflt    the number of page faults serviced that
                       required I/O activity.

          ru_nswap     the number of times a process was
                       "swapped" out of main memory.

          ru_inblock   the number of times the file system had to
                       perform input.

          ru_outblock  the number of times the file system had to
                       perform output.

          ru_msgsnd    the number of IPC messages sent.

          ru_msgrcv    the number of IPC messages received.



 Page 2                 Printed 11/19/92





GETRUSAGE(2-BSD)    RISC/os Reference Manual     GETRUSAGE(2-BSD)



          ru_nsignals  the number of signals delivered.

          ru_nvcsw     the number of times a context switch
                       resulted due to a process voluntarily giv-
                       ing up the processor before its time slice
                       was completed (usually to await availabil-
                       ity of a resource).

          ru_nivcsw    the number of times a context switch
                       resulted due to a higher priority process
                       becoming runnable or because the current
                       process exceeded its time slice.

NOTES
     The numbers ru_inblock and ru_outblock account only for real
     I/O; data supplied by the caching mechanism is charged only
     to the first process to read or write the data.

ERRORS
     The possible errors for getrusage are:

     [EINVAL] The who parameter is not a valid value.

     [EFAULT] The address specified by the rusage parameter is
              not in a valid part of the process address space.

SEE ALSO
     gettimeofday(2), wait(2).

WARNING
     There is no way to obtain information about a child process
     that has not yet terminated.























                        Printed 11/19/92                   Page 3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026