These functiona are used to retrieve resource usage information:
RUSAGE_
* constants described
below.
The elements of the return value each describe how a particular system resource has been used, e.g. amount of time spent running is user mode or number of times the process was swapped out of main memory. Some values are dependent on the clock tick internal, e.g. the amount of memory the process is using.
The first two elements of the return value are floating point values
representing the amount of time spent executing in user mode and the
amount of time spent executing in system mode, respectively. The
remaining values are integers. Consult the getrusage()
man page
for detailed information about these values. A brief summary is
presented here:
offset | resource |
0 | time in user mode (float) |
1 | time in system mode (float) |
2 | maximum resident set size |
3 | shared memory size |
4 | unshared memory size |
5 | unshared stack size |
6 | page faults not requiring I/O |
7 | page faults requiring I/O |
8 | number of swap outs |
9 | block input operations |
10 | block output operations |
11 | messages sent |
12 | messages received |
13 | signals received |
14 | voluntary context switches |
15 | involuntary context switches |
This function will raise a ValueError
if an invalid who
parameter is specified. It may also raise a resource.error
exception in unusual circumstances.
getrusage
describes
memory usage in pages; multiplying by page size produces number of
bytes.
The following RUSAGE_
* symbols are passed to the
getrusage()
function to specify which processes information
should be provided for.
RUSAGE_SELF
should be used to
request information pertaining only to the process itself.
getrusage()
to request resource information for child
processes of the calling process.
getrusage()
to request resources consumed by both the
current process and child processes. May not be available on all
systems.