On Wed, Jan 28, 2004 at 01:38:29PM -0800, Mark Ferlatte wrote:
[snip]
> The problem (bug) is that block device IO has to go through buffers
> that are below 1GB.  The memory manager doesn't know this, so what
> happens is that the IO layer requests a block of memory below 1GB, and
> the swapout daemon (kswapd) then runs around like a madman trying to
> free pages, instead of shuffling pages that don't need to be below 1GB
> to higher memory addresses.  Since many of the pages below 1GB can't
> be freed (they belong to active programs), the IO starves.
> 
> With 1GB of memory, both the IO layer and the swapout daemon are
> working with the same view of memory, so the bug is concealed, and
> performance is good.
> 
> I have heard of people trying 2GB, and having it work, but it didn't
> for me.

I was the poster who initiated the previous thread on this subject.  The
problem disappeared here after we went down to 2 GB of memory (although
we physically removed it from the server rather than passing the arg to
the kernel... shouldn't make a difference though, I'd imagine).  We went
straight from 4 GB to 2 GB, so I can't comment on the results of using 3
GB.

Our problem didn't seem to directly correspond with the 1 GB threshold
-- it wouldn't manifest itself until the server had allocated all 4 GB
of RAM.  After a reboot, it would be nice and speedy again for a day or
two until all the memory was being used for buffering again.

Dan


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to