[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: I/O performance issues on 2.4.23 SMP system



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



Reply to: