lkml.org 
[lkml]   [2022]   [Mar]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
Subjectkernel space: finding cpu usage of individual process/thread
Hi,

For one of my requirements I need to find cpu usage or load_avg of an
individual process or thread using "for_each_process_thread(process,
thread)" where process/thread is a pointer to "task_struct".

But, currently I am not able to figure out which is the right field
from task_struct to get this value, or how to manipulate it.

I see some fields there but I'm not sure if these values are correct.
a) sched_entity -> sched_avg -> load/load_avg/load_sum/util_avg/etc.
b) stime + utime : What time I get from here ?
c) prev_cputime
d) vtime
e) acct_timexpd
f) ???

It will be good if I can get some references in kernel space.

When I use (a) above (load_avg) I get this value:
pid=2 , comm=kthread, load=51
pid=96, comm=cat , load=1024
etc...

When I use (stime + utime) I get:
pid=2 , comm=kthread, load=3978848
pid=96, comm=cat , load=11786176

So, not sure which one is correct ?


Thanks,
Pintu

\
 
 \ /
  Last update: 2022-03-23 16:46    [W:0.045 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site