Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.mel.connect.com.au!munnari.OZ.AU!news.ecn.uoknor.edu!feed1.news.erols.com!newsfeeds.sol.net!uniserve!van-bc!news.mindlink.net!nntp.portal.ca!news.bc.net!unixg.ubc.ca!rover.ucs.ualberta.ca!news From: Marc Slemko <marcs@znep.com> Newsgroups: comp.unix.bsd.bsdi.misc Subject: Re: Why is my load so high? Date: 13 Apr 1997 03:15:18 GMT Organization: University of Alberta Lines: 28 Message-ID: <5ipj46$hvc@pulp.ucs.ualberta.ca> References: <5iek0e$ho$1@madmax.keyway.net> <5ii3to$52n@nuhou.aloha.net> NNTP-Posting-Host: gpu5.srv.ualberta.ca X-Newsreader: NN version 6.5.0 (NOV) Xref: euryale.cc.adfa.oz.au comp.unix.bsd.bsdi.misc:6634 In <5ii3to$52n@nuhou.aloha.net> eric@satanic.org (Eric Sorenson) writes: >Are you still running the adminweb apache httpd server? There >is a known (to me at least) bug with Apache on bsd that will >run the load up to 1.0 and leave it hovering there until the >httpd receives a SIGHUP. Try 'kill -term `cat /var/run/adminweb.pid`' >and see if your load average doesn't drop dramatically. Haven't >heard of a fix yet, and I've seen this since I first started running >Apache on BSDI two years ago. >P.S. I think it's a bug in the reporting of load not in actually >_running_ anything so there's not necessarily a runaway process >(i.e. Pine which does that a lot) that's sucking up CPU cycles >in between 'top' polls. On most BSD implementations, when an accept() is done then the kernel will wake up all processes blocked on it. Apache currently handles its child processes by having them all block on accept(). This means that if you have a few dozen idle servers, they will all be woken up when a connection comes in; all but one will then be put back to sleep. The cost isn't overly high to do this, but it can falsely increase the load average to obscene numbers (250 once under FreeBSD with good interactive response). The FreeBSD code was recently changed to only wakeup one of the processes when a connection is accepted, avoiding this problem. Not sure what the BSDI code does.