This post is more than 5 years old

4 Posts

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

6 Operator

 • 

1.2K Posts

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

4 Posts

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

No Events found!

Top