Hey Will,
----- Original Message -----
> On 01/11/2016 12:33 AM, Nathan Scott wrote:
> > Hi all,
> >
> > I recently spent some time updating the tutorial that Ken (IIRC)
> > originally wrote on system-level CPU performance analysis ...
> >
> > http://www.pcp.io/docs/howto.cpuperf.html
> >
> > Particularly, numerous updates centered on how these things work
> > in the Linux kernel (as opposed to other UNIX kernels documented
> > previously). Over time we're planning on updating the other how-to
> > docs, especially the disk howto. There's also been talk of process-
> > level and system-level network analysis with PCP as how-tos, maybe
> > even a memory-focused analysis how-to.
> >
> > If anyone has suggestions and/or corrections for the above updated
> > processor how-to doc, or would like to contribute how-tos related to
> > using PCP for analysis, please let me know.
> >
> > cheers.
> >
> > --
> > Nathan
>
> Hi Nathan,
>
> I look over the webpage and have a few comments.
>
Thanks!
> Is the processor really using 100Hz (10ms) sampling to estimate the
> time processor spends in each state on machines?
Yeah - "commonly called 100 times" is the phrase used there, because of
these variances (and also the reference to kernel.all.hz) - it could be
more explicit though.
> Newer x86_64 fedora
> kernels have tickless support and relatively new kernels have
> CONFIG_HZ=1000.
*nod* - I should also look into how tickless mode affects this discussion
and add in some details.
> I am confused how are things that "the state is both nice and
> guest_nice" and "the stae is both user and guest" are accounted for
> when "exactly one state is asigned for each CPU at each clock
> interrupt"?
Heh - the "exactly one" reference is a left over from earlier revisions of
the doc andfrom (all non-Linux) platforms where that is true - good catch,
will fix up, taa.
> Table 1 Raw PCP CPU metrics doesn't quite match up with what is mentioned
> earlier in the text and is listed as available:
>
> $ rpm -q pcp
> pcp-3.10.9-1.fc23.x86_64
> $ pminfo kernel.all.cpu
> kernel.all.cpu.user
> kernel.all.cpu.nice
> kernel.all.cpu.sys
> kernel.all.cpu.idle
> kernel.all.cpu.intr
> kernel.all.cpu.steal
> kernel.all.cpu.guest
> kernel.all.cpu.vuser
> kernel.all.cpu.guest_nice
> kernel.all.cpu.vnice
> kernel.all.cpu.wait.total
> kernel.all.cpu.irq.soft
> kernel.all.cpu.irq.hard
>
> I see the additional metrics mentioned later in the writeup, but it is
> a little confusing how the subsetting is being done. Initially it
> sounded like only the metrics in Table 1 were raw metrics available.
Oh OK - I'll try to reword that to be more clear.
> For the equations would it be possible to show the units in there for
> the metrics and the 1000? Just thinking back to college physics and
> engineering classes always harping to include units in calculations as
> a check to make sure that something wasn't left out.
Yep, good point - the text mentions milliseconds, but that's easily missed
or not clear in the equations - I'll add it to the equations directly.
Thanks!
--
Nathan
|