Re: 2.6.0-test9 - poor swap performance on low end machines

From: Chris Vine
Date: Mon Nov 03 2003 - 16:15:19 EST


On Monday 03 November 2003 12:48 am, Con Kolivas wrote:

> Well I was considering adding the swap pressure to this algorithm but I had
> hoped 2.6 behaved better than this under swap overload which is what
> appears to happen to yours. Can you try this patch? It takes into account
> swap pressure as well. It wont be as aggressive as setting the swappiness
> manually to 10, but unlike a swappiness of 10 it will be more useful over a
> wide range of hardware and circumstances.

Hi,

I applied the patch.

The test compile started in a similar way to the compile when using your first
patch. swappiness under no load was 37. At the beginning of the compile it
went up to 67, but when thrashing was well established it started to come
down slowly. After 40 minutes of thrashing it came down to 53. At that
point I stopped the compile attempt (which did not complete).

So, there is a slight move in the right direction, but given that a swappiness
of 20 generates thrashing with 32 MB of RAM when more than about 20MB of
memory is swapped out, it is a drop in the ocean.

The conclusion appears to be that for low end systems, once memory swapped out
reaches about 60% of installed RAM the swap ceases to work effectively unless
swappiness is much more aggressively low than your patch achieves. The
ability manually to tune it therefore seems to be required (and even then,
2.4.22 is considerably better, compiling the test file in about 1 minute 35
seconds).

I suppose one question is whether I would get the same thrashiness with my
other machine (which has 512MB of RAM) once more than about 300MB is swapped
out. However, I cannot answer that question as I do not have anything here
which makes memory demands of that kind.

Chris.

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