Se você estiver compilando fontes que exigem quase toda a RAM disponível, se não mais, provavelmente a única solução de alto desempenho é adicionar RAM real.
Dito isto, você pode tentar adicionar uma quantidade muito grande de swap (digamos 2x ou 3x a RAM) e definir /proc/sys/vm/swappiness
para um valor baixo, como 1 (observe que com o kernel 3.5+ definindo-o como 0 desabilita totalmente o swap), de modo que a troca é usada somente se efetivamente necessária. Isso deve minimizar a surra.