Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Nov 2009 20:01:02 +0300
From:      cronfy <cronfy@sprinthost.ru>
To:        FreeBSD <freebsd-questions@freebsd.org>
Subject:   Re: get accounting info for running process
Message-ID:  <4B0579CE.2020203@sprinthost.ru>
In-Reply-To: <5f09d2bccc69d1f101c5c22151ef0c05@sbmail.office-on-the.net>
References:  <4B042C50.6060904@sprinthost.ru> <5f09d2bccc69d1f101c5c22151ef0c05@sbmail.office-on-the.net>

next in thread | previous in thread | raw e-mail | index | archive | help

>> Is it possible to find out how much a process have used CPU user 
>> time/system time/IO operations for now by it's pid? Like in sa, but for 
>> running process.
>>     

Dan, Mel, thanks for your answers. I examined 'ps' sources and decided 
to use  kvm_getprocs() and rusage structure.

I am trying to create a daemon that would report system accounting stats 
for every X seconds, let's say 10.  'sa' reports about terminated 
processes only, but it would be nice to have more detailed system usage 
stats per user for a given time interval (i.e. last 10 seconds), 
including tasks that are not finished at the moment of querying.

I can achieve this by querying list of processes each 10 seconds and 
producing diffs between previous and current list, saving these to some 
log and combining data with /var/account/acct file.

The only thing I do not want to do is to invent a wheel ;-) I googled 
much for such solutions, but did not find any. May be someone knows 
existing products that has this functionality already?

Thanks in advance.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B0579CE.2020203>