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

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

Hi, Matthew

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


> 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

[1] - (not
necessarily a reputable source I suppose, but explains it well...)

Glen Barber

More information about the freebsd-questions mailing list