Se o servidor for completamente 100% interrompido, um script de reinicialização automatizado pode não ajudar: a menos que a reinicialização aconteça antes do travamento, você está preso, pois o travamento provavelmente afetará o processo que pretende chamar o script de reinicialização. / p>
Uma reinicialização regular via cron
pode ajudar, se estiver regular o suficiente para acionar antes de qualquer interrupção, mas isso seria tratar os sintomas e não a causa. Você pode acionar a reinicialização de outra máquina (se detectar que o servidor está parando de responder), mas isso provavelmente exigirá uma compra de hardware na forma de uma fonte de alimentação / controlador que pode ser alternada de uma máquina para forçar a outra a energizar. / p>
Eu recomendaria a instalação de algum tipo de ferramenta de monitoramento e a verificação para ver o que acontece imediatamente antes que os problemas ocorram (por exemplo, antes que novas conexões parem de ser aceitas). Eu uso collectd (com um script CGI personalizado para representar graficamente os resultados registrados) para monitoramento geral, embora existam várias outras opções populares. A execução dessa ferramenta de monitoramento com configurações padrão (monitoramento do uso da CPU, uso da memória, E / S de disco, leituras de temperatura e assim por diante) ajudará você a identificar coisas óbvias como uma explosão súbita de atividade da CPU (que pode implicar um script incorreto ou DoS situação) ou creeping memória / swap uso (o que pode implicar um vazamento de memória em algum lugar, ou no caso do Apache e serviços similares uma configuração de alocação de trabalho que é inadequado para o tamanho da máquina), um aumento súbito de temperatura (o que pode implicar uma questão de circulação, pouca ventilação ou outras condições ambientais externas que fazem parte do problema) e assim por diante. Se um problema genérico como esse for identificado, você poderá adicionar um monitoramento mais detalhado para analisar uma causa mais específica.
Além disso, instale e configure o smartd se ainda não tiver feito isso. Isso pode ajudar a rastrear o problema se estiver relacionado a uma unidade que esteja desenvolvendo (ou já tenha) um problema sério.
Em qualquer caso, verifique os suspeitos usuais em / var / log após um travamento - você pode encontrar algumas pistas registradas em lugares como / var / log / messages e / var / log / syslog (ou similar) logo antes do máquina pára de responder. Se nada na própria máquina parar quando as conexões remotas começarem a falhar, talvez você tenha uma placa de rede inválida que está travada (mas deixando o resto da máquina OK) e permanecendo nesse estado interrompido até que a máquina seja reinicializada ou desligada.
Mais especificamente: seus testes de RAM mostrando alguns erros em uma ou duas ocasiões tornam a RAM ou o resfriamento bastante provável. Você poderia ter uma memória RAM "um pouco" que geralmente funciona e passa nos testes, mas ocasionalmente vira bits e causa problemas, ou você pode ter um problema de RAM sensível à temperatura (tudo está bem até o calor atingir um certo ponto), ou poderia ser um problema de aquecimento / resfriamento mais geral. Seu processador ou outros chips centrais também podem estar com problemas de aquecimento que resultariam em efeitos intermitentes semelhantes.