Unterschied zwischen df -k und du -sh

8
df -k
/dev/sda6             25396228  21249088   2836240  89% /export
21G used

gegen

du -sh /export 
3.4G    /export

Das 3.4G ist korrekt, da wir alle nicht wesentlichen Dateien entfernt haben, der von df gemeldete freie Speicherplatz jedoch nicht mit dem tatsächlichen freien Speicherplatz übereinstimmt, der vorhanden sein sollte.

Warum ist das so?

Bernard Mwagiru
quelle

Antworten:

9

Die Dateien, die Sie entfernt haben, werden wahrscheinlich noch von einem Prozess geöffnet. Prüfen:

lsof -a +L1 /export

Ich denke das liegt daran:

  • df prüft verfügbare Blöcke (Superblöcke)
  • du summiert den Speicherplatz jeder Datei.
Lollekk
quelle
Gareth, vielen Dank dafür ... Gibt es eine Möglichkeit, dies online zu löschen, oder erfordert dies einen Neustart?
Bernard Mwagiru
Wie auch immer, es ist uns gelungen, die Prozesse zu beenden und Speicherplatz freizugeben ... vielen Dank!
Bernard Mwagiru
3

In einer oder mehreren Anwendungen sind Dateien geöffnet /export, aber die Dateinamen selbst sind nicht mehr vorhanden (dh wurden gelöscht).

Ignacio Vazquez-Abrams
quelle
2

Sie messen zwei ähnliche, aber leicht unterschiedliche Dinge. df misst die Kapazität eines Dateisystems und du misst einen Verzeichnisbaum. Zum Beispiel, wenn Sie Folgendes hatten:

 /dev/sda6 mounted on /exports
 /dev/sda7 mounted on /exports/extra

df von / export misst nur / dev / sda6, während ein du von / export / dev / sda6 und / dev / sda7 misst. Es gibt einige Flags bezüglich des Überschreitens von Dateisystemgrenzen, die die Anzahl ändern würden. Der Umgang mit symbolischen Links kann sich auch auf die Ergebnisse auswirken.

Xenoactive
quelle