[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOuPNLhB8pojv4wqv6d4FvhoBbNvUxD19ciK-6E8HtbbrnjF9g@mail.gmail.com>
Date: Wed, 23 Mar 2022 21:15:16 +0530
From: Pintu Agarwal <pintu.ping@...il.com>
To: open list <linux-kernel@...r.kernel.org>,
Kernelnewbies <kernelnewbies@...nelnewbies.org>,
Johannes Weiner <hannes@...xchg.org>, mingo@...hat.com,
peterz@...radead.org, juri.lelli@...hat.com
Subject: kernel 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
Powered by blists - more mailing lists