4.3BSD-Tahoe/usr/man/cat2/getrusage.0

Compare this file to the similar file:
Show the results in this format:




GETRUSAGE(2)	    UNIX Programmer's Manual	     GETRUSAGE(2)



NNAAMMEE
     getrusage - get information about resource utilization

SSYYNNOOPPSSIISS
     ##iinncclluuddee <<ssyyss//ttiimmee..hh>>
     ##iinncclluuddee <<ssyyss//rreessoouurrccee..hh>>

     ##ddeeffiinnee RRUUSSAAGGEE__SSEELLFF      00         //** ccaalllliinngg pprroocceessss **//
     ##ddeeffiinnee RRUUSSAAGGEE__CCHHIILLDDRREENN  --11	//** tteerrmmiinnaatteedd cchhiilldd pprroocceesssseess **//

     ggeettrruussaaggee((wwhhoo,, rruussaaggee))
     iinntt wwhhoo;;
     ssttrruucctt rruussaaggee **rruussaaggee;;

DDEESSCCRRIIPPTTIIOONN
     _G_e_t_r_u_s_a_g_e returns information describing the resources util-
     ized by the current process, or all its terminated child
     processes.  The _w_h_o parameter is one of RUSAGE_SELF or
     RUSAGE_CHILDREN.  The buffer to which _r_u_s_a_g_e 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 */
	  };

     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 system
		    executing on behalf of the process(es).

     ru_maxrss	    the maximum resident set size utilized (in
		    kilobytes).

     ru_ixrss	    an "integral" value indicating the amount of



Printed 7/9/88		  April 3, 1987                         1






GETRUSAGE(2)	    UNIX Programmer's Manual	     GETRUSAGE(2)



		    memory used by the text segment that was also
		    shared among other processes.  This value is
		    expressed in units of kilobytes * ticks-of-
		    execution.

     ru_idrss	    an integral value of the amount of unshared
		    memory residing in the data segment of a pro-
		    cess (expressed in units of kilobytes *
		    ticks-of-execution).

     ru_isrss	    an integral value of the amount of unshared
		    memory residing in the stack segment of a
		    process (expressed in units of kilobytes *
		    ticks-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_oublock     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.

     ru_nsignals    the number of signals delivered.

     ru_nvcsw	    the number of times a context switch resulted
		    due to a process voluntarily giving up the
		    processor before its time slice was completed
		    (usually to await availability 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.

NNOOTTEESS
     The numbers _r_u__i_n_b_l_o_c_k and _r_u__o_u_b_l_o_c_k account only for real
     I/O; data supplied by the caching mechanism is charged only



Printed 7/9/88		  April 3, 1987                         2






GETRUSAGE(2)	    UNIX Programmer's Manual	     GETRUSAGE(2)



     to the first process to read or write the data.

EERRRROORRSS
     The possible errors for _g_e_t_r_u_s_a_g_e are:

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

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

SSEEEE AALLSSOO
     gettimeofday(2), wait(2)

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






































Printed 7/9/88		  April 3, 1987                         3