4.3BSD-Reno/share/man/cat2/getrusage.0

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




GETRUSAGE(2)		      1990		     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 either 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 */
	       long ru_maxrss;		/* integral max resident set size */
	       long ru_ixrss;		/* integral shared text memory size */
	       long ru_idrss;		/* integral unshared data size */
	       long ru_isrss;		/* integral unshared stack size */
	       long ru_minflt;		/* page reclaims */
	       long ru_majflt;		/* page faults */
	       long ru_nswap;		/* swaps */
	       long ru_inblock;         /* block input operations */
	       long ru_oublock;         /* block output operations */
	       long ru_msgsnd;		/* messages sent */
	       long ru_msgrcv;		/* messages received */
	       long ru_nsignals;	/* signals received */
	       long ru_nvcsw;		/* voluntary context switches */
	       long 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/27/90               June				1






GETRUSAGE(2)		      1990		     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/27/90               June				2






GETRUSAGE(2)		      1990		     GETRUSAGE(2)



     to the first process to read or write the data.

EERRRROORRSS
     _G_e_t_r_u_s_a_g_e returns -1 on error.  The possible errors 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/27/90               June				3