Rev | Author | # | Line |
---|---|---|---|
1 | perry | 1 | !!NAME |
2 | PerryLorier | 2 | getrusage - get resource usage |
1 | perry | 3 | !!SYNOPSIS |
2 | PerryLorier | 4 | __#include <sys/time.h>__ |
5 | __#include <sys/resource.h>__ | ||
6 | __#include <unistd.h>__ | ||
1 | perry | 7 | |
4 | PerryLorier | 8 | __int getrusage (int__ ''who''__, struct rusage *__''usage''__);__ |
1 | perry | 9 | |
10 | !!DESCRIPTION | ||
2 | PerryLorier | 11 | getrusage(2) returns the current resource usages, for a ''who'' of either __RUSAGE_SELF__ or __RUSAGE_CHILDREN.__ |
1 | perry | 12 | |
2 | PerryLorier | 13 | struct rusage { |
14 | struct timeval ru_utime; /* user time used */ | ||
15 | struct timeval ru_stime; /* system time used */ | ||
16 | long ru_maxrss; /* maximum resident set size */ | ||
17 | long ru_ixrss; /* integral shared memory size */ | ||
18 | long ru_idrss; /* integral unshared data size */ | ||
19 | long ru_isrss; /* integral unshared stack size */ | ||
20 | long ru_minflt; /* page reclaims */ | ||
21 | long ru_majflt; /* page faults */ | ||
22 | long ru_nswap; /* swaps */ | ||
23 | long ru_inblock; /* block input operations */ | ||
24 | long ru_oublock; /* block output operations */ | ||
25 | long ru_msgsnd; /* messages sent */ | ||
26 | long ru_msgrcv; /* messages received */ | ||
27 | long ru_nsignals; /* signals received */ | ||
28 | long ru_nvcsw; /* voluntary context switches */ | ||
29 | long ru_nivcsw; /* involuntary context switches */ | ||
30 | }; | ||
1 | perry | 31 | !!RETURN VALUE |
2 | PerryLorier | 32 | On success, zero is returned. On error, -1 is returned, and ''errno'' is set appropriately. |
1 | perry | 33 | !!ERRORS |
2 | PerryLorier | 34 | ;[EFAULT]: ''rlim'' or ''usage'' points outside the accessible address space. |
35 | ;[EINVAL]: getrusage(2) is called with a bad ''who''. | ||
1 | perry | 36 | |
37 | !!CONFORMING TO | ||
2 | PerryLorier | 38 | SVr4, BSD 4.3 |
1 | perry | 39 | |
40 | !!NOTE | ||
2 | PerryLorier | 41 | Including ''<sys/time.h>'' is not required these days, but increases portability. (Indeed, ''struct timeval'' is defined in ''<sys/time.h>''.) |
1 | perry | 42 | |
2 | PerryLorier | 43 | The above struct was taken from BSD 4.3 Reno. Not all fields are meaningful under Linux. Right now (Linux 2.4) only the fields __ru_utime__, __ru_stime__, __ru_minflt__, __ru_majflt__, and __ru_nswap__ are maintained. |
1 | perry | 44 | |
45 | !!SEE ALSO | ||
46 | quotactl(2), ulimit(3) |
lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 7 times)