Sugiro usar sar
do pacote sysstat
(ou atsar
). Isso é executado a cada 10 minutos como uma tarefa do cron e faz uma observação das estatísticas vitais do seu servidor - uso da memória, utilização da CPU, atividade do disco, atividade da rede, etc.
Você usa assim:
Mostrar atividade do processador (o padrão) sar -p
(ou apenas sar
)
Mostrar estatísticas de memória ("ram")
sar -r
Mostrar as estatísticas de memória a partir do 27º sar -r -f /var/log/sysstat/sa27
Observe que o caminho varia de acordo com sua instalação. Em sistemas baseados em redhat, os arquivos geralmente estão em /var/log/sa/
, enquanto se você tiver o pacote atsar
instalado, eles estarão em /var/log/atsar/
- mas o padrão é que o arquivo terminará em um número que represente o dia do mês em que os dados foram coletados.
Algumas versões (como atsar
) permitem que você simplesmente especifique o dia: sar -n 27
. Verifique a página manpage que veio com a sua instalação para descobrir a sintaxe correta e quais dados você pode recuperar.
Uma vez que você tenha instalado e executado (e provavelmente já o tenha feito!), você poderá usar as informações que coletar para ter uma ideia do que estava acontecendo imediatamente antes do acidente. Por exemplo, se o relatório mostra a sua memória para ser exhaused e livre contagem regressiva para zero, então você terá uma boa idéia do que procurar.
Com as informações em mãos, você pode configurar relatórios adicionais para ter uma ideia melhor do que está errado: por exemplo, você pode escrever um pequeno script que examina certas estatísticas do sistema (como o conteúdo de /proc/meminfo
ou /proc/loadavg
) e se as condições de disparo forem atendidas, talvez acrescente as informações de depuração apropriadas (como a saída de ps auwwxf
) a um arquivo ou envie as informações por e-mail para você.