Não há sentido em executar echo 3 > /proc/sys/vm/drop_caches
.
À medida que o Linux fica sem memória, ele remove automaticamente os buffers e caches, de modo que você está prejudicando o desempenho do sistema, forçando a remoção de cache de i / o útil.
Você realmente precisa ver o que poderia estar consumindo toda a memória. Veja os seguintes possíveis culpados:
- Apache - clientes máximos ou número de servidores muito altos. Eu presumo que você esteja executando no modo pré-fork.
- PHP - Memória máxima, upload máximo, número de conexões de banco de dados
- Tarefas noturnas do cron, como slocate
- Uso de memória do MySQL.
UPD O MySQL pode estar sendo morto pelo OOMKiller, mas não é realmente a causa. Pode ser apenas o maior consumidor de memória individual.