Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Aug 2014 19:40:36 +0300
From:      Stefan Parvu <sparvu@systemdatarecorder.org>
To:        David Wolfskill <david@catwhisker.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: cpu utilization break down via sysctl
Message-ID:  <20140804194036.be325ee5822bbcb2623db358@systemdatarecorder.org>
In-Reply-To: <20140804162056.GP1228@albert.catwhisker.org>
References:  <20140804190923.95fec6a00d175ffee89c4af5@systemdatarecorder.org> <20140804162056.GP1228@albert.catwhisker.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> Sure; I've done the data acquisition with sysctl & awk, then
> post-processed that with a bit of Perl.  I wrote some code in R to
> generate graphs....  I did some similar stuff using RRDTool a whlie
> back.

Im planning in using BSD::Sysctl to fetch all needed values.

> kern.cp_time output is an ordered quintuple showing (aggregate) CPU
> counters for:
> 
> * user
> * nice
> * system
> * interrupt
> * idle
> 

I see. Cool. If I understood right these will be the break down for 4 vcpu system:

$ sysctl kern.cp_times
kern.cp_times: 28845 2060 22253 1805 1197920 27677 1477 22399 2109 1199180 32342 1649 19499 894 1198458 29670 1678 20324 1471 1199699

which maps to:

time1: cpu0: user_28845: nice_2060: system_22253: intr_1805: idle_1197920
time1: cpu1: user_27677: nice_1477 system_22399 intr_2109: idle_1199180 
time1: cpu2: user_32342: nice_1649: system_19499: intr_894: idle_1198458
time1: cpu3 user_29670: nice_1678: system_20324: intr_1471: idle_1199699


> For each core (or the aggregate), you need to look at an interval.  Get
> the differences for each of the 5 possible CPU states; the sum of those
> differences is the total of CPU resources available during that
> interval.

Right I need to do delta between 2 readings to get the correct values. Same as in KSTAT 
in Solaris perl interface. 

One more check here: 

 CPU_Utilization = User + System + Nice + Intr ? 

Many thanks indeed. I need to experiment with these ...


-- 
Stefan Parvu <sparvu@systemdatarecorder.org>



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