Depois de excluir um arquivo grande, quanto tempo leva para `df` pegar a alteração?

12

Excluí um arquivo de log de 2,3 GB no meu servidor Ubuntu e dfnão parece estar percebendo a alteração. Normalmente, existe um atraso antes que seja dfpossível detectar que um arquivo grande foi excluído?

dan
fonte

Respostas:

20

Parece que o arquivo ainda está aberto por algum processo. Você precisará reiniciar esse serviço para que o espaço em disco seja liberado.

vagão
fonte
1
Provavelmente é verdade para arquivos de log. Muitos programas abrem seu arquivo de log quando são iniciados e não os fecham até a saída.
Mattdm
1
E você pode descobrir se ele ainda está em uso e por quem está usando lsof
Joris
Ótima pergunta e ótima resposta. Estou pensando nisso há algum tempo. Além disso, você pode conseguir que ele feche seu identificador de arquivo enviando um SIGHUP. Por exemplo, se o processo 12345 tiver um arquivo "excluído" aberto, é sudo kill -HUP 12345possível que o processo seja fechado. (Isso depende, é claro, sobre como isso alças processo um sinal SIGHUP Mas lotes de arquivos orientada daemon irá fechar e reabrir identificadores de arquivo quando recebem um SIGHUP..)
Mark E. Haase
Eu pensei que não podemos excluir arquivos abertos!
Ashish Karpe
1
@AshishKarpe Não, você pode excluir um arquivo aberto, mas o processo com ele aberto manterá o conteúdo do arquivo em disco. O arquivo agora está invisível para outros processos, devido à falta de referência a qualquer nome de arquivo existente, mas o processo que o abriu ainda pode ler e gravá-lo. Depois que o processo fechar o arquivo, o conteúdo será excluído, recuperando o espaço em disco.
Jonathan Hartley
2

Se o sistema de arquivos estiver sem espaço, você poderá executar o espaço reservado no sistema de arquivos. Os sistemas de arquivos ext2 / 3/4 têm algum espaço reservado para root. Por padrão, isso é 5%. Portanto, se estava cheio e 2,3 GB representa menos de 5% do espaço na unidade, o sistema de arquivos ainda parece estar cheio.

Nesta situação, você tem duas opções. Para continuar a liberar espaço até o ponto em que você tem espaço livre utilizável ou modificar a quantidade de espaço que o sistema de arquivos reservou. Para modificar a quantidade de espaço reservado, tune2fs -m 0 /dev/sda1substitua o 0 pela porcentagem de espaço reservado que você deseja ter e / dev / sda1 pelo dispositivo apropriado.

Veja a resposta aceita para esta pergunta para mais detalhes.

3dinfluence
fonte
0

Não muito. As chances são altas de que o arquivo ainda esteja sendo usado. Não haverá liberação de espaço em disco até você finalizar o (s) processo (s) correspondente (s).

poige
fonte
0

Verifique também o diretório .trash.

JakeRobinson
fonte
onde está esse diretório .trash?
precisa
No ubuntu 14.04, vejo que tenho um ~/.local/share/Trash, que está cheio de lixo que eu apaguei no Nautilus.
Jonathan Hartley