pcp
[Top] [All Lists]

Re: [pcp] Difference between: kernel.percpu.cpu.user and kernel.pernode.

To: Shirshendu Chakrabarti <shirshendu@xxxxxxx>, pcp@xxxxxxxxxxx
Subject: Re: [pcp] Difference between: kernel.percpu.cpu.user and kernel.pernode.cpu.user
From: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Thu, 27 Nov 2014 19:02:23 +1100
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <CALg+ggkbEYhTCCxSp1t-gQ7NbXhsYEcHCv4MCGvsndaN1G3dMA@xxxxxxxxxxxxxx>
References: <CALg+ggn8w2nxuUpZWWEUY5GHeOo2QKZ5+pPwaxU0PMAejFwtig@xxxxxxxxxxxxxx> <CALg+ggkbEYhTCCxSp1t-gQ7NbXhsYEcHCv4MCGvsndaN1G3dMA@xxxxxxxxxxxxxx>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
On 11/27/2014 05:17 PM, Shirshendu Chakrabarti wrote:
Hi PCP team,

Could anyone please respond the question above :)

The difference is the instance domains and counter aggregation.

kernel.pernode is aggregated over all CPUs on each numa node.
On my laptop with 4 CPU cores on one (fake) numa node, we should
expect kernel.all.cpu.user to equal kernel.pernode.cpu.user, and
the sum of the per-cpu counters to equal the same, e.g. :

# pminfo -f kernel.{all,pernode,percpu}.cpu.user

kernel.all.cpu.user
    value 254548080

kernel.pernode.cpu.user
    inst [0 or "node0"] value 254548060

kernel.percpu.cpu.user
    inst [0 or "cpu0"] value 66377110
    inst [1 or "cpu1"] value 61187360
    inst [2 or "cpu2"] value 64051110
    inst [3 or "cpu3"] value 62932480

The mapping between CPUs and nodes is in hinv.map.cpu_node,
where each CPU (instance) is mapped to a node number, e.g.

# pminfo -f hinv.map.cpu_node

hinv.map.cpu_node
    inst [0 or "cpu0"] value 0
    inst [1 or "cpu1"] value 0
    inst [2 or "cpu2"] value 0
    inst [3 or "cpu3"] value 0

In your case, kernel.pernode.cpu.user is zero, which isn't correct.
What platform and PCP version are you running?

Regards
-- Mark


Thanks,

Shirshendu Chakrabarti

On Wed, Nov 26, 2014 at 3:47 PM, Shirshendu Chakrabarti <shirshendu@xxxxxxx
<mailto:shirshendu@xxxxxxx>> wrote:

    Hi PCP team,

    Could anyone in the team point me to any literature which explains the
    difference between a per node metric and percpu metric. The one-liner and
    extended description are absent in pernode metric case and terse in percpu 
case.

    For example:

    [root@pcp-test-shir3 pmlogger]# pminfo -f kernel.percpu.cpu.user

    kernel.percpu.cpu.user
         inst [0 or "cpu0"] value 993240
    [root@pcp-test-shir3 pmlogger]# pminfo -f kernel.pernode.cpu.user

    kernel.pernode.cpu.user
         inst [0 or "node0"] value 0
    I was under the assumption that, kernel.pernode.* and kernel.all.* metrics
    are the same. I am clearly missing something important.

    Thanks,

    Shirshendu Chakrabarti




_______________________________________________
pcp mailing list
pcp@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/pcp


<Prev in Thread] Current Thread [Next in Thread>