Re: vm problems

Stephan von Krawczynski (skraw@ithnet.com)
Wed, 29 Aug 2001 14:26:39 +0200


On Wed, 29 Aug 2001 13:14:19 +0200
Gergely Madarasz <gorgo@thunderchild.debian.net> wrote:

> Hello,
>
> I get hundreds of this error message:
>
> __alloc_pages: 0-order allocation failed.
>
> The machine is an IBM x250 with 4G ram, the kernel is vanilla 2.4.9 and
> 2.4.9-ac3, no swap, running bonnie++. When the memory fills up with cache,
> I start receiving the error message.
>
> total used free shared buffers cached
> Mem: 3863628 3854532 9096 0 5160 3734832
> -/+ buffers/cache: 114540 3749088
> Swap: 0 0 0

Unfortunately I found out this is "normal" behaviour, not only under 2.4.9 but also 2.4.8 and 2.4.7. You could use just about any test that does filesystem load with more data moved than you have physical mem. It basically means that you can easily break the vm management by forcing it in a state where "cleanup" has to be done to find free pages (e.g. page_launder). If you have enough spare time you can try to make page_launder run not only through 1/64 of the list but all through and find out in the end, that it cannot find free pages not matter how often it is run. This looks like a self-produced deadlock situation. On the one hand the basic strategy seems to use as much resources (mem) as possible to gain speed, on the other hand there is no way out, if resources get very low, and this basic strategy fails (which you can see because performance drops down below the cellar).
Try 2.4.10-pre2, possibly you find out, that it doesn't fail that often, but performance stays low.

Regards, Stephan

-
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/