Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jun 2006 19:36:21 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Danial Thom <danial_thom@yahoo.com>
Cc:        freebsd-performance@freebsd.org, David Xu <davidxu@freebsd.org>
Subject:   Re: Initial 6.1 questions
Message-ID:  <20060613193040.O26068@fledge.watson.org>
In-Reply-To: <20060613182328.76244.qmail@web33304.mail.mud.yahoo.com>
References:  <20060613182328.76244.qmail@web33304.mail.mud.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Tue, 13 Jun 2006, Danial Thom wrote:

> Maybe someone can explain this output. The top line shows 99.6%idle. Is it 
> just showing CPU 0s stats on the top line?

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.

Robert N M Watson
Computer Laboratory
Universty of Cambridge



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060613193040.O26068>