du resulta no sistema de arquivos inconsistente com df

6

O que explica a discrepância no uso ( 82 GB vs 13 GB ) que eu vejo abaixo?

  • Usando df :

    $ df -h /
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda2              96G   82G  9.9G  90% /
    
  • Usando du :

    $ sudo du -cshx /
    13G     /
    13G     total
    
por Amelio Vazquez-Reina 11.04.2017 / 15:43

1 resposta

5
A opção

-x é falsa, já que seu objetivo é pular as coisas. Essa opção nunca lhe dá a imagem completa.

Para obter uma listagem completa, use montagens de associação e, em seguida, du , ncdu , xdiskusage , baobab ou o que desejar no diretório ligado sem ignorar as opções:

mkdir /mnt/root
mount --bind / /mnt/root
ncdu /mnt/root

Você pode descobrir que tem muitas coisas em /mnt/backup (porque não foi montado quando a tarefa de backup foi executada) ou um arquivo gigante em /dev (resultado de dd if=/dev/zero of=/dev/sdx quando não /dev/sdx existia e nenhum tmpfs foi montado em /dev ).

Também pode ser um arquivo excluído ainda usado por um processo, mas as pessoas geralmente não perguntam sobre ele depois que ele é reiniciado. Também poderia ser uma inconsistência do sistema de arquivos, mas isso também desapareceria após a reinicialização (se forçar fsck no processo).

    
por 11.04.2017 / 16:18