De acordo, foi o apache2, que foi o processo infeliz, mas foi o culpado por mim antes. Normalmente, especialmente com perl, php, ou mod_python irá continuar alocando memória ram para alguma aplicação web. À medida que clientes diferentes atingem diferentes processos do apache, eles continuarão aumentando a utilização da memória.
Se o seu tráfego for alto o suficiente para manter os processos do apache ativos, você pode acabar com 256 processos do apache em execução. Mas, não tem que estar nem perto desse limite, eu já tive um dia ruim com 30 processos apache usando 250-300MB ou ram cada.
Aumentar o swap vai te dar um pouco de tempo, para pegar a caixa e ver o que está acontecendo, mas você precisa ser avisado para que você possa ver qual processo está consumindo memória RAM, verifique se realmente é o apache.
Use gratuitamente em um cron job ou cacti e snmp com limites. Com livre, você precisará assistir buffers e ram livre, totalizá-los e alertar em algum limite inferior.
Outra coisa, se for o apache, pode ser trazer seus MaxClients, pode ter um alto número padrão. Ou, traga o MaxRequestsPerChild para um número baixo o suficiente para matar processos de vez em quando. Este é apenas um band-aid, mas pode ajudar a deixar você mancar o suficiente para resolver o problema.
Apenas minha facada no ar Scott M