Initial 6.1 questions
Danial Thom
danial_thom at yahoo.com
Tue Jun 13 19:48:48 UTC 2006
--- Robert Watson <rwatson at FreeBSD.org> wrote:
>
> On Tue, 13 Jun 2006, Danial Thom wrote:
>
> >> Two types of measurements are taken: sampled
> ticks regarding whether the
> >> system as a while is in {user, nice, system,
> intr, idle}, and then sampling
> >> for individual processes. Right now, the
> system measurements are kept in a
> >> simple array of tick counters called
> cp_time. John Baldwin and others have
> >> changes that make these tick counters
> per-CPU. The lines at the top of
> >> top(1)'s output are derived from those tick
> counters. Ticks are measured
> >> on each CPU, so those are a summary across
> all CPUs. To add cpustat
> >> support, we need to merge John's patch to
> make cp_time per-CPU (ie.,
> >> different counters for different CPUs) and
> teach the userland tools to
> >> retrieve them. When you run top you'll
> notice that it adjusts the
> >> measurements each refresh. In effect, what
> it's doing is sampling the
> >> change in tick counts over the window,
> pulling down the new values and
> >> calculating the percentages of ticks in each
> "bucket" in the last window.
> >
> > That doesn't explain why the Top line shows
> 99.6% idle, but the cpu idle
> > threads are showing significant usage.
> >
> > I'm getting a constant 6000 Interrupts /
> Second on my em controller, yet top
> > jumps all over the place; sitting at 99% idle
> for 10 seconds, then jumping
> > to 50%, then somewhere in between. It seems
> completely unreliable. The load
> > I'm applying is constant.
>
> I can't speak to the details of the
> thread/process use sampling model. Top
> uses something called the "weighted cpu
> percentage" by default; you can switch
> to "unweighted" using the -C argument. The top
> documentation fails to
> document the semantics of the percentages, but
> I suspect -C will give you more
> of what you expect. The weighted CPU
> measurement takes into account process
> history, so it takes a while for sudden spike
> in CPU use to be fully
> reflected, and you may see seemingly
> counter-intuitive results, such as the
> appearance of greater than 100% CPU use. Try
> out -C and see if you see
> something that makes more sense?
>
It seems to work just fine with 1 CPU. Its
equally useless with the -C option in SMP mode.
Here's a snip from 'systat -vmstat 1'
Proc:r p d s w Csw Trp Sys Int Sof
Flt cow 10009 total
24 18353 1 129 156k 1
17108 wire 6: fdc0
7908 act 14: ata
0.4%Sys 0.4%Intr 0.0%User 0.0%Nice 99.2%Idl
7236 inact 20: em0
| | | | | | | | | |
cache 6000 21: em1
473456 free 5 24: bge
6000 interrupts per second and .4% interrupt
usage. Clearly the tools don't work at all in SMP
mode. I don't see how you can do development
without measurement tools that work.
DT
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the freebsd-performance
mailing list