Re: unusually high load averages

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Fri, 30 Jan 2004 13:14:46 -0500
On Friday 30 January 2004 12:03 pm, Bruce Evans wrote:
> On Thu, 29 Jan 2004, Kris Kennaway wrote:
> > On Fri, Jan 30, 2004 at 12:08:17AM +0100, Melvyn Sopacua wrote:
> > > On Thursday 29 January 2004 22:34, Jake Khuon wrote:
> > > > I'm noticing some unusually high load averages even though nothing
> > > > seems to be taking up much CPU.  This started happening with a recent
> > > > cvsup (last night).  Anyone know what might be causing this?
> > >
> > > You are actually seeing > 0.00% CPU/WCPU, cause with me everything is
> > > zero, allthough I know for sure that's not true.
> >
> > You both forgot to mention which scheduler you're using.  This is
> > important.
>
> It's easy enough to list the bugs for each scheduler and to determine the
> scheduler (and the approximate kernel source version) by observing the
> bugs:
>
> 0.00% CPU/WCPU:
> This indicates a 4BSD scheduler with the bug that I fixed recently.  The
> bug lived for almost a month.
>
> CPU always the same as WCPU:
> This indicates a ULE scheduler and certain bugs.  ULE doesn't maintain
> all the statistics related to the old scheduler or provide alternatives
> (it just fakes some), and statistics programs blindly display all the
> old statistics.
>
> High load average despite only idle processes running:
> This seems to be scheduler-independent.  Running top to watch the load
> average raises the load average by about 0.1.  I think the problem is
> that loadav() is now a kthread that restarted by a timeout, so it now
> sees a herd of other processes that are restarted by the same timeout.
> Previously it was run as a timeout and other threads were put on the
> run queue by a timeout; the ordering of the timeouts was hopefully
> random so that loadav() saw the correct number of processes restarted
> by timeouts, on average.  Now loadav() sees all lower priority processes
> that are restarted by the same timeout (since they are all restarted but
> loadav() runs first).

If loadav is truly unimportant, we could give it a fairly low priority so 
other processes ran first.

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Fri Jan 30 2004 - 10:18:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:40 UTC