Messages in this thread | | | From | (Linus Torvalds) | Subject | Re: new OOM heuristic failure (was: Re: VM: qsbench) | Date | Wed, 31 Oct 2001 18:22:41 +0000 (UTC) |
| |
In article <20011031184256.6e541e43.skraw@ithnet.com>, Stephan von Krawczynski <skraw@ithnet.com> wrote: > >I took a deep look into this code and wonder how this benchmark manages to get >killed. If I read that right this would imply that shrink_cache has run a >hundred times through the _complete_ inactive_list finding no free-able pages, >with one exception that I read across:
That's a red herring. The real reason it is killed is that the machine really _is_ out of memory, but that, in turn, is because the swap space is totally filled up - with pages we have in memory in the swap cache.
The swap cache is wonderful for many thing, but Linux has historically had swap as "additional" memory, and the swap cache really really wants to have backing store for the _whole_ working set, not just for the pages we have to get rid of.
Thus the two-line patch elsewhere in this thread, which says "ok, if we're low on swap space, let's start decimating the swap cache entries for stuff we have in memory".
Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |