LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Kernel statistics (https://www.linuxquestions.org/questions/programming-9/kernel-statistics-52646/)

grub 03-31-2003 04:30 AM

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:

iceman47 03-31-2003 04:36 AM

you could use top to see stats and mount without any options to see mounted patitions

grub 03-31-2003 04:47 AM

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:

revrendi 03-31-2003 10:34 AM

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

grub 03-31-2003 09:53 PM

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.

revrendi 03-31-2003 10:19 PM

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.