A primeira coisa que eu faria é reduzir a probabilidade de que qualquer um desses processos consiga mais CPU ou tempo de IO em disco do que o sistema operacional. Eu vou assumir que seu sistema operacional é linux.
Faça backup de todos os arquivos de configuração antes de editá-los.
Você pode conseguir algumas dicas para o comportamento do sistema operacional antes da falha, observando os dados do sar.
sar -A | more
Certifique-se de procurar uma escalada na memória ou no uso da CPU. Você pode fazer com que o sar seja executado com mais frequência editando /etc/cron.d/sysstat, supondo que ele esteja instalado e ativado.
Para cada uma das contas de serviço em que seus processos estão sendo executados, você pode adicionar o seguinte a /etc/security/limits.conf no final do arquivo.
apache soft priority 19
apache hard priority 19
rabbitmq soft priority 18
rabbitmq hard priority 18
mysql soft priority 10
mysql hard priority 10
Então, em cada um dos scripts de inicialização para seus daemons, reduza o tempo de CPU e IO atribuído a eles.
cp -p /etc/rc.d/init.d/some_init_script ~/'date '+%Y%m%d.%H%M''.some_init_script
vi /etc/rc.d/init.d/some_init_script
Adicione o seguinte na segunda linha do script para reduzir as fatias de tempo da CPU e do E / S:
renice 19 -p $$ > /dev/null 2>&1
ionice -c3 -p $$ > /dev/null 2>&1
Reinicie cada um dos seus serviços.
Vamos supor que o sshd ainda não responda. Se você instalar a "tela", poderá ter o vmstat, o iotop e outras ferramentas em execução em várias telas. Há folhas de dicas sobre o uso da tela, então não vou cobrir isso aqui.
Neste ponto, mesmo que seus serviços estejam ficando fora de controle, você ainda deve ter a capacidade de ssh para o servidor, supondo que ele não esteja provocando pânico.
Você pode restringir ainda mais os recursos alocados a cada daemon fixando-os em um núcleo ou CPU específico. Isso pode ser feito com o comando "taskset". man taskset para mais detalhes sobre seu uso.
[edit] Eu também devo acrescentar que isso não ajudará em certas condições de spinlock. Se o acima não ajudar, você pode ter que executar seus aplicativos em uma VM e usar um kernel de depuração ou outras ferramentas de depuração.