make sure you have vacuumed (vacuumdb -f -z -v DBNAME)
and you should check that your pg buffers and sortmem are
large enough and that you have upped the kernel shared mem
limits (all I think covered in the standard docs iirc).
How large is the aolserver process? Have you checked if the
machine is thrashing (with vmstat for example), I know it says 512mb is free but that might mean you are bumping into some
per process memory limit.