lsof mostra tmp crescente arquivo marcado como excluído

2

Eu tenho um cron que gerou muito (15GB) de avisos do PHP e os estava escrevendo em um arquivo de log.

Eu matei o processo e, como uma medida temporária, parei de redirecionar stderr para stdout para não preencher meu armazenamento.

Após a alteração, continuei recebendo os mesmos avisos de "alto IO" e o armazenamento do servidor estava aumentando temporariamente e voltando ao tamanho anterior. O arquivo de log original estava vazio.

Eu encontrei um arquivo usando lsof -p <PID of cron> que estava ficando maior no segundo.

sh      25626 root   10u   REG  202,1 21280244045     773 /tmp/tmpfZ14vFH (deleted)

Este arquivo está marcado como excluído e não consigo encontrá-lo no diretório / tmp.

Por favor, forneça algumas dicas sobre isso.

O sistema operacional está gravando o stderr em um arquivo tempprary enquanto o processo está em execução?

    
por rwms 02.11.2017 / 12:55

1 resposta

2

Você deve alternar (iniciar / interromper) o processo que contém o identificador de arquivo.

Verifique com ps -ef |grep 25626 como ponto inicial para encontrar o processo que o segura e, se possível, faça o ciclo. Ele permitirá que o identificador de arquivo seja liberado e o espaço em disco será limpo.

Eu sei que você já fez isso (descobri que sh é o processo em questão), mas aqui está o meu comando go-to em minhas anotações (provavelmente encontradas na troca de pilhas no passado) para descobrir esses mistérios excluídos arquivos: lsof | grep deleted | numfmt --field=7 --to=iec | head

    
por 03.11.2017 / 00:36