On Thu, 19 Apr 2001, Mike Jewell wrote:
> Hi,
>
> I want to do some process benchmarking (getting the memory usage/disk
> usage/CPU usage/etc while a program is running) - can I use PCP to handle
> this? I've seen lots of examples which monitor system performance, but
> nothing at a process level?
On IRIX we have a large number of per-process metrics to track resource
demands. On Linux, things are considerably more spartan.
You may finds something of use in the following subset (all of which
can be monitored with PCP for some or all processes).
Mark, I think the "this and all it's child processes" description is
not correct ... the c<foo> variants appear to be the cummulative
resource consumption for all children that have previously exited,
so this process and still running children are _not_ included.
bruce 2% pminfo -T proc
...
proc.psinfo.minflt
Help:
count of minor page faults (i.e. reclaims)
proc.psinfo.cmin_flt
Help:
count of minor page faults (i.e. reclaims) for the process and its children
proc.psinfo.maj_flt
Help:
count of page faults other than reclaims
proc.psinfo.cmaj_flt
Help:
count of page faults other than reclaims for the process and its children
proc.psinfo.utime
Help:
time (in ms) spent executing user code since process started
proc.psinfo.stime
Help:
time (in ms) spent executing system code (calls) since process started
proc.psinfo.cutime
Help:
time (in ms) spent executing user code for this and all it's child processes
proc.psinfo.cstime
Help:
time (in ms) spent executing system code for this and all it's child processes
...
proc.psinfo.vsize
Help:
virtual size of the process in Kbytes
proc.psinfo.rss
Help:
resident set size (i.e. physical memory) of the process
...
proc.psinfo.nswap
Help:
count of page swap operations
proc.psinfo.cnswap
Help:
count of page swap operations for this process and all it's child processes
...
proc.memory.size
Help:
instantaneous virtual size of process, excluding page table and task structure.
proc.memory.rss
Help:
instantaneous resident size of process, excluding page table and task structure.
proc.memory.share
Help:
instantaneous amount of memory shared by this process with other processes
proc.memory.textrss
Help:
instantaneous resident size of process code segment in Kbytes
proc.memory.librss
Help:
instantaneous resident size of library code mapped by the process, in Kbytes
proc.memory.datrss
Help:
instantaneous resident size of process data segment, in Kbytes
proc.memory.dirty
Help:
instantaneous amount of memory that has been modified by the process, in Kbytes
|