How can this 'top' command output make sense? Load over 7 and total CPU use ~5%

Glen Barber glen.j.barber at gmail.com
Sun May 24 08:12:20 UTC 2009


Hi, Matthew

On Sun, May 24, 2009 at 3:46 AM, Matthew Seaman
<m.seaman at infracaninophile.co.uk> wrote:
> Yuri wrote:

[snip]

>
> Sure. This is not an uncommon occurrence really.  The load average is
> the number of processes in the queue for a CPU time slice averaged over
> 5, 10 or 15 minutes.  For multi-core systems the LA is scaled by the number
> of cores so a LA of 1.0 means all cores have active processes pretty much
> continually.
>

I thought, if it was a dual-core for example, a load average of 1.00
would indicate 50% CPU utilization overall (1 process using only 1
core)[1].  2.00 on a dual-core would be 100%, 3.00 on a dual-core
would be 100% utilization, and always 1 process in the wait queue, and
so on.

> Now, you might think that an active process will take the CPU utilisation
> to 100%, but that is not necessarily so.  Some numerical applications can
> do that, but purely CPU bound processes are relatively uncommon in everyday
> usage.  In actuality what happens is that the processor will need to
> retrieve
> data from somewhere to operate on.  There's a hierarchy of data stores of
> various speeds (latency, rather than bandwidth):
>
>  L1 Cache > L2 Cache > L3 Cache > Main RAM > Disk > Network
>

Does this affect the load average though?  My understanding was that
if the CPU cannot immediately process data, the data gets put into the
wait queue until L2 Cache (then RAM, etc, etc) returns the data to be
processed.


[1] - http://www.teamquest.com/resources/gunther/display/5/ (not
necessarily a reputable source I suppose, but explains it well...)

-- 
Glen Barber
570.328.0318


More information about the freebsd-questions mailing list