This post is more than 5 years old
4 Posts
0
1899
April 8th, 2013 15:00
SNMP / CPU Utilization
I'm wanting a rough way to trend CPU utilization on each node
I figured I would poll these three variables, sum them, divide by 10, and I would have a number which would vary between 0 and 100%
nodeCPUUser.0
nodeCPUNice.0
nodeCPUSystem.0
nodeCPUInterrupt.0
nodeCPUIdle.0
nodeCPUSystem OBJECT-TYPE
SYNTAX Gauge32(0..1000)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Average amount of CPU (per mil) used by system processes
within the last 5 seconds for all CPUs."
::= { nodeCPUPerf 3 }
But, it turns out the sum of these (divided by 10) can run quite a bit higher than 100.
So, I'm misinterpreting what these mean ...
Is anyone trending CPU utilization? If so, how are you doing it?
--sk
Stuart Kendrick
FHCRC


Peter_Sero
6 Operator
•
1.2K Posts
0
April 9th, 2013 21:00
Those five :) variable are also shown by 'top', and here they actually do sum up to 100%.
By comparing top and SNMP, can you see wether SNMP differs systematically?
My guess would be that SNMP fails to average the values over the *same* time interval, or it simply scales one variable wrong.
Possible Workaround: simply define utilization := 100% - idle%
Trending: The built-in history would do for me
# isi statistics list stats | grep -i node.cpu.\*avg
node.cpu.idle.avg
node.cpu.intr.avg
node.cpu.nice.avg
node.cpu.sys.avg
node.cpu.user.avg
For example
# isi statistics history -nall -F -snode.cpu.user.avg
But I rarely use that; instead I keep an eye on a cluster-wide top which shows also the actual processes; scripted with isi_for_array, top, and sort.
The other eye I keep on
isi statistics client -t --orderby=Ops
(No InsightIQ needed...)
Peter
skendric
4 Posts
0
April 12th, 2013 10:00
Thank you Peter -- (100 - Idle) / 100 meets my needs for calculating a utilization %
[Well, actually, (100 - Idle/10) / 100 ... since cpuNodeIdle and company are reported as a range from 1-1000)
--sk