Por que df e du mostram saída diferente?

7

Quando executo o comando df -h /tmp , ele diz que a utilização do disco é 100% , mas quando ele tenta du -sh /tmp , a utilização de disco é 2% .

Eu quero saber por que esses comandos mostram saída diferente, como esses dois comandos funcionam e qual é a solução para esse problema.

Contexto: /tmp está instalado em seu próprio sistema de arquivos. Eu estou usando o Ubuntu 12.04 server edition na minha conta VPS. Devido a esta utilização do problema de /tmp 100% de acordo com df , alguns programas reclamam de espaço livre em /tmp .

    
por Nischay 31.10.2012 / 05:42

3 respostas

9

du informa o espaço livre digitalizando inodes acessíveis e calculando seu tamanho.

Se um arquivo for criado, aberto e posteriormente excluído enquanto ainda estiver aberto, o programa que o abriu continuará a ter acesso ao arquivo, e as gravações e leituras poderão ser executadas nesse local de memória no disco. du não considera tais arquivos abertos, enquanto df faz.

Uma reinicialização simples deve liberar / tmp e resolver seu problema.

Uma alternativa seria verificar arquivos abertos e reiniciar ou eliminar o processo que não liberou os arquivos excluídos.

    
por Mahesh 31.10.2012 / 06:58
1

Alguns arquivos no sistema de arquivos raiz podem estar ocultos atrás de um ponto de montagem. Os arquivos podem ser criados sob o ponto de montagem quando o dispositivo correspondente não está montado e, quando o dispositivo é montado novamente, os arquivos não são contados pelo comando du. Problema muito provável, quando há uma grande diferença entre os resultados du e df.

    
por Nick 07.08.2016 / 22:00
-1

Verifique se você tem sudo ao executar du . Por exemplo, se você executar du -hs /* , não verá o uso real do disco, a menos que adicione sudo .

    
por raimohanska 01.07.2016 / 14:15