Devo me preocupar com arquivos grandes (excluídos) no lsof? [duplicado]

3

Estamos trabalhando para limpar algum espaço em nossa /opt mount. Um grande culpado pelo consumo de espaço eram os arquivos de log de alguns processos que executamos (no intervalo de 2 a 12 GB cada).

Nós os limpamos truncando-os. No entanto, isso parece estar distorcendo nossa saída de df -H .

/dev/mapper/Sys-opt     76G    72G      0 100% /opt

Ao executar du -sh * nesse diretório, os tamanhos não são somados. Ao executar lsof | grep log , vejo que muitos dos arquivos que excluímos ainda aparecem com (deleted) anexados ao final.

Minha pergunta é, (a) devo me preocupar com isso ?, e (b) existe uma maneira de fazer com que meu df -H volte ao normal, sem reiniciar a caixa / esses processos? A reinicialização dos processos corrigirá (vejo várias entradas para os mesmos logs, que são de processos que sei que foram reiniciados recentemente)?

    
por MrDuk 23.09.2015 / 11:50

1 resposta

6

O Unix usa a contagem de referência para descobrir se um arquivo está em uso ou se os dados podem ser excluídos / reutilizados.

Um filehandle aberto conta como uma referência - assim, até que seja fechado, esse espaço será ocupado. Reiniciar o processo com o filehandle aberto fechará o filehandle e, se ele for removido da estrutura de diretórios, ele desaparecerá quando a contagem de refras cair para zero.

Então, sim - reiniciar o processo fará com que o arquivo desapareça.

Isso pode acontecer com o registro excessivamente detalhado de um daemon - ele ainda está gravando em seu arquivo de registro, apesar de alguns indivíduos bem intencionados terem uma limpeza.

    
por 23.09.2015 / 11:59