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

Scott Bennett bennett at cs.niu.edu
Mon May 25 07:17:19 UTC 2009


     On Sun, 24 May 2009 20:22:37 +0200 (CEST) Wojciech Puchar
<wojtek at wojtek.tensor.gdynia.pl> wrote, *again* without attribution:
>>     From the glossary (p. 630) of _The_Design_and_Implementation_of_the
>> _FreeBSD_Operating_System_ by McKusick and Neville-Neil:
>>
>> 	load average  A measure of CPU load on the system.  The load average
>> 		in FreeBSD is an average of the number of processes ready to
>> 		run or waiting for short-term events such as disk I/O to
>> 		complete, as sampled once per second over the previous one-
>> 		minute interval of system operation.
>>
>so this glossary should be fixed because it's nonsense.
>
>first - says that it's measure of CPU load
>then - "or waiting for short-term events such as disk I/O" - which is NOT 
>measure of CPU load.

     You are mistaken.  I think what you are referring to is the percentage of
CPU usage, not CPU load.  Note that CPU usage can never exceed 100% per CPU,
laying aside confusion over application of this term to hyperthreading chips,
whereas CPU load obviously can be much higher.  It might help you to think of
"CPU load" as "CPU commitment".
     If you wish to design an operating system and then write its
documentation, you will, of course, be free to define terms relating to your
system in whatever manner you like.  However, the authors of the book are not
only among the architects of FreeBSD, but also 4.?BSD UNIX and possibly earlier
versions of BSD UNIX.  They have been good enough to document what they have
done and to define what they mean by terms used in that documentation and
throughout the system, which most of the non-self-righteously arrogant members
of the community appreciate.  Treat the information in this book as having come
from the horses' mouths, excepting only those parts that have been added/
changed/deleted since FreeBSD 5.2.
     FWIW, the concept of load average in UNIX is quite old.  I don't know
exactly how old it is, but it may date back to 7th Ed. UNIX from AT&T or even
earlier.  BSD UNIX branched off about that time or possibly 6th Ed.
     The definition of load average cited above is essentially the average
length of the queue of runnable processes (including those that are currently
running) plus the processes expected to be runnable in the immediate future,
e.g., much sooner than a hypothetical process that has been swapped out could
be made runnable.


                                  Scott Bennett, Comm. ASMELG, CFIAG
**********************************************************************
* Internet:       bennett at cs.niu.edu                              *
*--------------------------------------------------------------------*
* "A well regulated and disciplined militia, is at all times a good  *
* objection to the introduction of that bane of all free governments *
* -- a standing army."                                               *
*    -- Gov. John Hancock, New York Journal, 28 January 1790         *
**********************************************************************


More information about the freebsd-questions mailing list