Kernel statistics
Hi,
How to get the kernel statistics like no of active processess, total virtual memory size, no of hard disks used, etc. grub:Pengy: |
you could use top to see stats and mount without any options to see mounted patitions
|
top shows some required details. But this is not the problem. How can I get the statistics in my 'C' program. Is there any api to do the work.:study:
|
Unfortunately, there's usually not a decent way to get that info through a clean API. The proc filesystem is there in part because of that shortcoming. If you take a look at the ps and top tools source you'll see that usually they just read the info out of a node somewhere under /proc and parse it. If you don't feel at all like learning about the format, there is the libgtop library from Gnome, http://www.gnome.org/softwaremap/projects/libgtop/. It's just a library that does that parsing for you. -- Rev
|
Where can I get the virutal memory size (used and free), no of threads a process has created, state of the thread, no of ports used by a process, etc.
|
The memory info is in /proc/meminfo. There's an entry under /proc for each running process (and under Linux processes and threads are pretty much the same thing, a 'thread' is just a process which shares it's memory space with another process) that has more specific info. Sounds like most of the info you want is in /proc/$PID/status or from the directory /proc/$PID/fd. I believe you'll have to walk the process tree in order to figure out how many threads a process has created, and I'm not sure how to aggregate the processes into thread groups, although I assume the Tgid has something to do with it. I've never used libgtop, so I can't tell you what calls to use there. You'll have to check the docs or find some examples. Maybe someone who has used gtop will be kind enough to post a simple snippet. -- Rev
|
All times are GMT -5. The time now is 10:57 PM. |