Você pode usar um cão de guarda como Monit para cuidar dos processos de seu interesse e reiniciá-los se eles consumir recursos em excesso.
Algo como isso seria usado para monitorar o Apache:
check process apache with pidfile /var/run/httpd.pid
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if cpu > 40% for 2 cycles then alert
if totalcpu > 60% for 2 cycles then alert
if totalcpu > 80% for 5 cycles then restart
if mem > 100 MB for 5 cycles then stop
if loadavg(5min) greater than 10.0 for 8 cycles then stop
Portanto, se o cpu% do processo do Apache ou qualquer um de seus filhos tiver mais de 40%, envie um alerta. Se estiver acima de 80%, reinicie o Apache.
O Monit também iniciará o Apache se ele não estiver sendo executado por algum motivo, o que é uma maneira razoável de manter os serviços críticos em funcionamento (se você não tiver algo como o Upstart disponível).
Isso pressupõe que você tenha um conjunto de processos que você pode segmentar para esse tipo de monitoramento. Presumivelmente, você suspeita que um aplicativo em particular pode ser um problema.