Subject: Re: explaining TOP memory output and constant 1.0 load averages
To: NetBSD User's List <netbsd-users@netbsd.org>
From: Johnny Billquist <bqt@update.uu.se>
List: netbsd-users
Date: 07/18/2006 08:12:26
Greg A. Woods wrote:
> At Mon, 17 Jul 2006 11:57:32 +0100,
> Mark Cullen wrote:
> 
>>Perhaps changing from 50MB to 5MB helped as it was filling up the file
>>system buffer cache or something, as Johnny suggested. If the buffer
>>cache code pushes things out to swap I guess it could cause things like
>>this to happen?
> 
> Keep in mind (and if I understand correctly), the buffer cache won't
> page anything out onto swap unless it's willing to go, and it also won't
> do it unless you've got I/O demands to fill the buffer cache.

Almost anything is willing to go, if nudged. Not much is wired in place.

> I.e. this machine is too small/slow for what's being attempted with it.
> NetBSD has been asked to to make compromises and it's doing the very
> best it can with the information it has been given.  Give it more memory!

I'm sorry, but I think this is nonsense. The same response was given to 
me when I was fiddling around. Atleast in my case, the machine did *not* 
have too little memory, and was not asked to do too much. It was simply 
not doing the best it could with the resources. And earlier it had been, 
which is why I was annoyed with the sudden drop in performance.

After tuning the system a lot, it now once more runs like a champ, so 
it's simply a case of the defaults nowadays being very poorly tuned. I 
don't know if the defaults might be a good setting for some machine with 
loads of memory that only runs as a server without any interactive 
users, but atleast I have not found a situation where the defaults are 
particularly good.
And I would expect that on such large server machines, modifying the 
defaults will not make it run bad either, so my belief is that the 
defaults are simply wrong for most anyone, but it don't hurt everyone 
enough to complain about.

In my case, processes got starved for physical memory because different 
caching and buffering code were allowed to grab too much.

Interesting thoughts on loads followed. I don't exactly disagree with 
it, but the one big thing in my book is that if I have a load over 1, I 
definitely don't want to see a 90% idle cpu... Unless the load sampling 
is syncronizing with the process creating the load, you then have a very 
badly tuned system.

	Johnny

-- 
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt@update.uu.se           ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol