getrusage(3)
works just fine. However, it returned 0 for memory usage. A quote from the man page:"The above struct was taken from BSD 4.3 Reno. Not all fields are meaningful under Linux. Right now (Linux 2.4, 2.6) only the fields ru_utime, ru_stime, ru_minflt, ru_majflt, and ru_nswap are maintained."
(This refers to
struct rusage
, filled in by the getrusage()
function.)The question is why? At least some of memory statistics that should be returned by
getrusage()
can already be obtained through /proc/*/stat
.Tags: kernel linux
2 comments:
Hi. Excellent question -- why can't I get a process' memory usage (RSS, code/text size, stack/data size, etc) by calling getrusage() in Linux? If anyone out there knows of an equivalent system call, PLEASE tell me. And no, I don't want to dig it out of /proc... that is slow and hoakey. There should be a system call for this...
I agree. I'd like to see a working getrusage for process memory consumption. Why, I needed it just today ...
Post a Comment