The rusage command is similar to time(1). It runs the given command, which must be specified; that is, command is not optional as it is in the C shell's timing facility. When the command is complete, rusage displays the real (wall clock), the system CPU, and the user CPU times which elapsed during execution of the command, plus other fields in the rusage structure, all on one long line. Times are reported in seconds and hundredths of a second.
The example below shows the format of rusage output.
example% rusage wc /usr/share/man/man1/csh (1) 3045 13423 78071 /usr/share/man/man1/csh (1) 2.26 real 0.80 user 0.36 sys 11 pf 38 pr 0 sw 11 rb 0 wb 16 vcx 37 icx 24 mx 0 ix 1230 id 9 is example%
Each of the fields identified corresponds to an element of the rusage structure, as described in getrusage(3C), as follows:
|real||elapsed real time|
|user||ru_utime||user time used|
|sys||ru_stime||system time used|
|pf||ru_majflt||page faults requiring physical I/O|
|pr||ru_minflt||page faults not requiring physical I/O|
|rb||ru_inblock||block input operations|
|wb||ru_oublock||block output operations|
|vcx||ru_nvcsw||voluntary context switches|
|icx||ru_nivcsw||involuntary context switches|
|mx||ru_maxrss||maximum resident set size|
|id||ru_idrss||integral resident set size|
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
When the command being timed is interrupted, the timing values displayed may be inaccurate.