Talvez você tenha que executar um script que reinicie o httpd , espere alguns segundos e reinicie o monit também .
Pode ser que o monit esteja de alguma forma bloqueado no ID do processo específico associado aos processos httpd mortos - e isso permitiria que ele detectasse os novos processos corretamente.
Não tenho certeza de quanta memória livre seu sistema tem quando atinge o ponto de uso de 2,5 Gb, mas se esse valor ficar muito baixo (talvez durante a reinicialização?), o Linux iniciará processos aleatoriamente para evitar uma falha total . Eu estou supondo que o oomkiller pode estar matando algo essencial para a funcionalidade do monit.
Se esse for o caso, reduzindo seu limite de reinicialização de 2,5 Gb para 2,0 Gb, ou aumentando a quantidade de memória na caixa seria uma solução melhor.