finding child cpu usage of a running child
kar1107 at gmail.com
Sat Jan 26 10:03:40 CET 2008
On Jan 25, 11:59 pm, Paddy <paddy3... at googlemail.com> wrote:
> On Jan 26, 5:43 am, Karthik Gurusamy <kar1... at gmail.com> wrote:
> > Hi,
> > Wondering if there is a way to measure a child process's cpu usage
> > (sys and user) when the child is still running. I see os.times()
> > working fine in my system (Linux 2.6.9-42.7.ELsmp), but it gives valid
> > data only after the child has exited. When the child is alive,
> > os.times() data for child is zero for both child-sys and child-user
> > cpu.
> > My script (process P1) launches child process P2 (using
> > popen2.Popen3). P2 is a long running process (big compilation). Every
> > minute or so, from P1, I want to measure how much cpu P2 has consumed
> > and based on that I can make some estimate on the completion time of
> > P2 (I have a rough idea how much total cpu P2 needs to complete).
> > I understand it may be too expensive to update this information to the
> > parent process when any of the child/grand-child completes; but
> > wondering if any there is any way to get this info; the expensive
> > operations is on-demand only when the request is made.
> > Thanks,
> > Karthik
> I had a similar requirement in December and found:
> proc-time.c and proc-time.py poll /proc/.... files whilst command
> is running to get stats.
Great, thanks. From proc-time.py looks like all I want are the fields
13 to 16 of /proc/<child-pid>/stat. And I see them updated in real
time (probably the kernel does it on a periodic interrupt).
> Enjoy, - Paddy.
More information about the Python-list