Date: Wed, 27 May 1998 12:35:41 -0400 From: sbabkin@dcn.att.com To: danj@3skel.com, freebsd-hackers@FreeBSD.ORG, dnelson@emsphone.com Subject: RE: Load avg 0.33 and 99.2% idle... Message-ID: <C50B6FBA632FD111AF0F0000C0AD71EEFF8AED@dcn71.dcn.att.com>
next in thread | raw e-mail | index | archive | help
> ---------- > From: Dan Nelson[SMTP:dnelson@emsphone.com] > Sent: Wednesday, May 27, 1998 10:49 AM > To: Dan Janowski; freebsd-hackers@freebsd.org > Subject: Re: Load avg 0.33 and 99.2% idle... > > In the last episode (May 27), Dan Janowski said: > > > > Load avg 0.33 and 99.2% idle, how can this be? > > > > FreeBSD 2.2.6 > > Load average just means "the number of processes in the run queue". > If > you have code that sits in a select() loop most of the time, it'll be > in the run queue almost all of the time, but probably not eat much > CPU. > I've got some Quake servers running on my machine, and if one person > joins each of the four servers, my loadavg jumps to 4. But the CPU > used doesn't go over 10%. > It sounds weird to me. The program doing select() sleeps like any others and do not reside in the run queue. But, on the other hand, the load computations are based on sampling on timer interrupts, so if some program is activated on time intervals, like select() with timeout, the timer interrupt will encounter longer run queue because itself had woken up these processes and placed them into the run queue right before computing the load. I think this explanation is closer to reality. That raises an interesting issue: should the load computation use the average of run queue length before and after waking up the time-awaiting processes ? -Serge To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C50B6FBA632FD111AF0F0000C0AD71EEFF8AED>