Descubra qual é o problema:
Não comece a sintonizar até usar algo como top ou o comando ps para ver o que está realmente usando a memória. Pode estar em qualquer lugar na pilha (Mysql, PHP, Apache). Se é o Apache ...
Mude para o Daemon HTTP mais leve:
Você já considerou um daemon HTTP mais leve como:
Considere um MPM diferente com o Apache:
Eu testaria muito isso antes de colocar isso em produção, mas você pode considerar trocar o Módulo de Processamento Múltiplo (MPM) do trabalhador (em vez de perfurar). Este artigo diz que isso foi usado em dealnews.com e ajudou com a memória uso. Eu não fiz isso com o Ubuntu, mas acho que é apenas:
sudo apt-get remove apache2-mpm-prefork
sudo apt-get install apache2-mpm-worker
Mas você pode querer considerar a criação do Apache a partir do código-fonte, para que você tenha apenas os módulos necessários, que podem ser um grande projeto. Além disso, no artigo, lembre-se:
This is an important part. You can't use radical extensions in PHP when you are using worker.
Ajuste o PHP também:
Este artigo do IBM Developerworks possui algumas opções de ajuste do php que podem ajudar a reduzir a memória também.
Ajustar o MySQL também:
O terceiro artigo no artigo sobre ajuste da IBM Lamp fala sobre o ajuste do MySQL. Isso pode acabar usando um pouco de memória.