skendric

updated

14 years ago

S

skendric

4 Posts

0

1905

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

    •

    1169 Posts

    914

    0

    Posted 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

    914

    0

    Posted 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