Re: [PATCH] vm: enhance __alloc_pages to prioritize pagecacheeviction when pressed for memory

From: Andrew Morton
Date: Mon Dec 12 2005 - 15:17:01 EST


Neil Horman <nhorman@xxxxxxxxxxxxx> wrote:
>
> On Fri, Dec 09, 2005 at 04:29:01PM -0800, Andrew Morton wrote:
> > Neil Horman <nhorman@xxxxxxxxxxxxx> wrote:
> > >
> > > Hey all-
> > > I was recently shown this issue, wherein, if the kernel was kept full of
> > > pagecache via applications that were constantly writing large amounts of data to
> > > disk, the box could find itself in a position where the vm, in __alloc_pages
> > > would invoke the oom killer repetatively within try_to_free_pages, until such
> > > time as the box had no candidate processes left to kill, at which point it would
> > > panic.
> >
> > That's pretty bad. Are you able to provide a description which would permit
> > others to reproduce this?
>
> As promised, heres the reproducer that was given to me, and used to reproduce
> this problem:
>
> 1) setup an nfs serve with a thread count of 2. Of course, 1 thread might make
> the problem more easy to reproduce. I haven't tried it yet.
>
> 2) Setup 4 nodes to hammer the nfs mounted directory. The 4 nodes should hammer
> out 4 gigs. 2 gigs didn't seem to be enough.
>
> I used a locally developed tool called ior to reproduce this problem. The tool
> can be found here:
>
> http://www.llnl.gov/asci/platforms/purple/rfp/benchmarks/limited/ior/
>
> I suppose anything that can write to NFS fast should be fine. But that's what I
> did.
>
>
> If you do this, any node writing to the server that has more than 4GB of RAM
> should start oom killing to the point where it runs out of candidate processes
> and panics

We merged an NFS fix last week which will help throttling under heavy
writeout conditions..
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/