linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Milian Wolff <milian.wolff@kdab.com>
To: Jiri Olsa <jolsa@redhat.com>
Cc: linux-perf-users@vger.kernel.org, acme@kernel.org, namhyung@kernel.org
Subject: Re: measuring system wide CPU usage ignoring idle process
Date: Mon, 20 Nov 2017 21:24:42 +0100	[thread overview]
Message-ID: <215895928.dRJQAAs51a@agathebauer> (raw)
In-Reply-To: <20171120142908.GA22876@krava>

On Montag, 20. November 2017 15:29:08 CET Jiri Olsa wrote:
> On Mon, Nov 20, 2017 at 03:00:46PM +0100, Milian Wolff wrote:
> > Hey all,
> > 
> > colleagues of mine just brought this inconvenient perf stat behavior to my
> > attention:
> > 
> > $ perf stat -a -e cpu-clock,task-clock,cycles,instructions sleep 1
> > 
> >  Performance counter stats for 'system wide':
> >        4004.501439      cpu-clock (msec)          #    4.000 CPUs utilized
> >        4004.526474      task-clock (msec)         #    4.000 CPUs utilized
> >        945,906,029      cycles                    #    0.236 GHz
> >        461,861,241      instructions              #    0.49  insn per
> >        cycle
> >        
> >        1.001247082 seconds time elapsed
> > 
> > This shows that cpu-clock and task-clock are incremented also for the idle
> > processes. Is there some trick to exclude that time, such that the CPU
> > utilization drops below 100% when doing `perf stat -a`?
> 
> I dont think it's the idle process you see, I think it's the managing
> overhead before the 'sleep 1' task goes actualy to sleep
> 
> there's some user space code before it gets into the sleep syscall,
> and there's some possible kernel scheduling/syscall/irq code with
> events already enabled and counting

Sorry for being unclear: I was talking about the task-clock and cpu-clock 
values which you omitted from your measurements below. My example also shows 
that the counts for cycles and instructions are fine. But the cpu-clock and 
task-clock are useless as they always sum up to essentially `$nproc*$runtime`. 
What I'm hoping for are fractional values for the "N CPUs utilized".

> in following 3 sessions you can see the counts are pretty much
> the same regardless the sleeping time:
> 
> 	[jolsa@krava perf]$ sudo ./perf stat -e cycles:u,cycles:k sleep 1
> 
> 	 Performance counter stats for 'sleep 1':
> 
> 		   316,478      cycles:u
> 		   594,468      cycles:k
> 
> 	       1.000813330 seconds time elapsed
> 
> 	[jolsa@krava perf]$ sudo ./perf stat -e cycles:u,cycles:k sleep 5
> 
> 	 Performance counter stats for 'sleep 5':
> 
> 		   339,287      cycles:u
> 		   665,888      cycles:k
> 
> 	       5.001004575 seconds time elapsed
> 
> 	[jolsa@krava perf]$ sudo ./perf stat -e cycles:u,cycles:k sleep 10
> 
> 	 Performance counter stats for 'sleep 10':
> 
> 		   314,507      cycles:u
> 		   658,764      cycles:k
> 
> 	      10.001117596 seconds time elapsed


-- 
Milian Wolff | milian.wolff@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
Tel: +49-30-521325470
KDAB - The Qt Experts

  reply	other threads:[~2017-11-20 20:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-20 14:00 measuring system wide CPU usage ignoring idle process Milian Wolff
2017-11-20 14:29 ` Jiri Olsa
2017-11-20 20:24   ` Milian Wolff [this message]
2017-11-20 23:44     ` Jiri Olsa
2017-11-23 13:40       ` Milian Wolff
2017-11-23 14:09         ` Jiri Olsa
2017-11-23 14:21           ` Jiri Olsa
2017-11-23 14:42             ` Arnaldo Carvalho de Melo
2017-11-23 15:12               ` Jiri Olsa
2017-11-23 18:59                 ` Arnaldo Carvalho de Melo
2017-11-24  8:14                   ` Jiri Olsa
2017-11-23 15:15               ` Peter Zijlstra
2018-04-17 13:41                 ` Arnaldo Carvalho de Melo

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=215895928.dRJQAAs51a@agathebauer \
    --to=milian.wolff@kdab.com \
    --cc=acme@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=namhyung@kernel.org \
    /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).