du-Ergebnisse im Dateisystem inkonsistent mit df

du-Ergebnisse im Dateisystem inkonsistent mit df

Was erklärt die Diskrepanz in der Verwendung ( 82 GBvs 13 GB), die ich unten sehe?

  • Verwendung von df:

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

    $ sudo du -cshx /
    13G     /
    13G     total
    

Antwort1

-xist ein falscher Freund, da sein Zweck darin besteht, Dinge zu überspringen. Diese Option gibt Ihnen nie das vollständige Bild.

Um eine vollständige Liste zu erhalten, verwenden Sie Bind-Mounts und dann du, ncdu, xdiskusage, baobaboder was immer Sie möchten im gebundenen Verzeichnis ohne Überspringoptionen:

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

Dann stellen Sie möglicherweise fest, dass eine Menge Zeug darin ist /mnt/backup(weil es beim Ausführen der Sicherungsaufgabe nicht gemountet war) oder dass eine riesige Datei darin ist /dev(Ergebnis eines dd if=/dev/zero of=/dev/sdxFehlers, als nichts /dev/sdxvorhanden war und kein tmpfs darin gemountet war /dev).

Es könnte sich auch um eine gelöschte Datei handeln, die noch von einem Prozess verwendet wird, aber die Leute fragen normalerweise nicht danach, da sie nach dem Neustart verschwunden ist. Es könnte sich auch um eine Dateisysteminkonsistenz handeln, aber auch diese wäre nach dem Neustart verschwunden (wenn sie fsckim Prozess erzwungen wird).

verwandte Informationen