Como detectar qual processo preencheu o espaço em disco

1

Durante o fim de semana, meu proxy baseado no Debian caiu devido a espaço livre insuficiente. Depois da reinicialização, tudo correu bem, então na segunda fui procurar por logs e / ou explicações para o hang de sábado, mas não encontrei nada.

Grepped qualquer tipo de material em / var / log / *, crontab marcado, fila de e-mails ... A única coisa que encontrei foi monitorar echos do sistema no syslog, com espaço livre ficando crítico minuto após minuto (preenchido com cerca de 80GB 30 minutos). Nenhum erro de daemons ou algo assim.

Eu entenderia facilmente o que está acontecendo em tempo real, mas não tenho ideia de como depurar ainda mais esse tipo de problema no passado. Algum conselho?

Esta é a primeira vez que isso acontece em um ano ou mais. O tempo de atividade foi baixo, o problema não voltou a ocorrer nos próximos dias.

Obrigado

    
por realpclaudio 15.03.2016 / 17:14

2 respostas

2

Você pode usar atop para depurar coisas como esta. em cima pode executar em tempo real, mas mais criticamente para o seu caso, ele pode mostrar e analisar instantâneos do passado capturados em registros. Ele registra um monte de métricas diferentes, então você provavelmente não vai ficar pensando "droga, eu gostaria de logar" depois do fato. : -)

No Debian, você pode instalá-lo com apt-get install atop . Você pode então iniciá-lo e ativá-lo na inicialização usando seu gerenciador de inicialização. No systemd, por exemplo, seria systemctl enable atop && systemctl start atop . Agora em cima irá iniciar a criação de log - normalmente, isso é para /var/log/atop/<date> .

Você pode ver os registros históricos usando atop -r <log file> , avançando no tempo com t e retrocedendo com T . Você pode encontrar mais comandos pressionando a tecla ? .

Você deve procurar um aplicativo que grave muito no disco. Você pode ver isso na coluna WRDISK. Você também pode classificar pelo uso do disco pressionando D .

Obviamente, isso não pode voltar antes mesmo do início da criação de log, mas você pode executá-lo e fazer login em segundo plano para a próxima vez, quando puder investigar adequadamente.

    
por 15.03.2016 / 17:20
0

Adicione também algumas verificações ao uso do disco, especialmente para procurar arquivos de log excluídos, mas ainda abertos, nos moldes de lsof $partition_var_lives_on | grep deleted >> somefile . (Veja também como os logs são rotacionados, se é algo personalizado, pode facilmente haver um bug.)

    
por 15.03.2016 / 17:35