[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

finding child cpu usage of a running child

kar1107@gmail.com

1/26/2008 5:44:00 AM

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
2 Answers

Paddy

1/26/2008 8:00:00 AM

0

On Jan 26, 5:43 am, Karthik Gurusamy <kar1...@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:
http://lilypond.org/~janneke...

proc-time.c and proc-time.py poll /proc/.... files whilst command
is running to get stats.

Enjoy, - Paddy.

kar1107@gmail.com

1/26/2008 9:04:00 AM

0

On Jan 25, 11:59 pm, Paddy <paddy3...@googlemail.com> wrote:
> On Jan 26, 5:43 am, Karthik Gurusamy <kar1...@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:
> http://lilypond.org/~janneke...
>
> 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).

Thanks,
Karthik

>
> Enjoy, - Paddy.