xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Nathan March <nathan@gt.net>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: Snmp cpuRawIdle showing double
Date: Wed, 06 Apr 2011 10:51:47 -0700	[thread overview]
Message-ID: <4D9CA833.2060506@gt.net> (raw)
In-Reply-To: <4D9B8538.8070908@gt.net>


On 4/5/2011 2:10 PM, Nathan March wrote:
> Polling the UCE-SNMP-MIB::ssCpuRawIdle counter results in a total that's
> double the actual number of cpu's on the system, so for example:
>
> nms ~ # snmpwalk -v 2c -c 'XXX' xen1 1.3.6.1.4.1.2021.11.53 && sleep 60
> && snmpwalk -v 2c -c 'XXX' xen1 1.3.6.1.4.1.2021.11.53
> UCD-SNMP-MIB::ssCpuRawIdle.0 = Counter32: 1313274
> UCD-SNMP-MIB::ssCpuRawIdle.0 = Counter32: 1324862
>
> (1324862 - 1313274) / 6000 * 100 = 193%

Dug into the net-snmp source code to figure out where it pulls that data
from, here's a test case:

x=$(cat /proc/stat | grep cpu0 | awk '{print $5}') && sleep 60 &&
y=$(cat /proc/stat | grep cpu0 | awk '{print $5}') && echo -e
"X:$x\nY:$y\nIDLE:" $(echo "scale=3; ($y-$x)/6000*100" | bc)

xen1 ~ # x=$(cat /proc/stat | grep cpu0 | awk '{print $5}') && sleep 60
&& y=$(cat /proc/stat | grep cpu0 | awk '{print $5}') && echo -e
"X:$x\nY:$y\nIDLE:" $(echo "scale=3; ($y-$x)/6000*100" | bc)    
X:15718848
Y:15730453
IDLE: 193.400

>From the man page, it says the user_hz is 1/100th:

              cpu  3357 0 4313 1362393
                     The amount of time, measured in units of USER_HZ
(1/100ths of a second on most architectures, use sysconf(_SC_CLK_TCK) to
obtain the right value), that the system spent in user mode, user mode
                     with low priority (nice), system mode, and the idle
task, respectively.  The last value should be USER_HZ times the second
entry in the uptime pseudo-file.

and sysconf agrees:

xen1 ~ # perl -e 'use POSIX; print POSIX::sysconf(&POSIX::_SC_CLK_TCK);'
100

Anyone have any ideas?

This works as expected on a very outdated dom0 I have, 2.6.21 and xen
3.2.1. It seems to be broken on at least xen 4.0 (2.6.31.13) and above.

- Nathan

  reply	other threads:[~2011-04-06 17:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-05 21:10 Snmp cpuRawIdle showing double Nathan March
2011-04-06 17:51 ` Nathan March [this message]
2011-04-07 18:04   ` Nathan March

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D9CA833.2060506@gt.net \
    --to=nathan@gt.net \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).