Unterschied zwischen df -k und du -sh

3576
Bernard Mwagiru
df -k /dev/sda6 25396228 21249088 2836240 89% /export 21G used 

gegen

du -sh /export  3.4G /export 

Der 3.4G ist korrekt, weil wir alle nicht unbedingt benötigten Dateien entfernt haben, der von df gemeldete freie Speicherplatz jedoch nicht mit dem tatsächlich vorhandenen freien Speicherplatz übereinstimmt.

Warum ist das so?

8

3 Antworten auf die Frage

9
Lollekk

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.
Gareth, vielen Dank dafür ... Gibt es eine Möglichkeit, dies online zu löschen, oder ist ein Neustart erforderlich? Bernard Mwagiru vor 13 Jahren 0
Trotzdem ist es gelungen, die Prozesse abzubrechen und Speicherplatz freizugeben ... Vielen Dank! Bernard Mwagiru vor 13 Jahren 0
3
Ignacio Vazquez-Abrams

Eine oder mehrere Anwendungen haben Dateien geöffnet /export, die Dateinamen selbst sind jedoch nicht mehr vorhanden (dh wurden gelöscht).

2
Xenoactive

Sie messen zwei ähnliche, aber etwas unterschiedliche Dinge. df misst die Kapazität eines Dateisystems und du misst einen Verzeichnisbaum. Wenn Sie beispielsweise Folgendes hatten:

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

df / export nur maßnahmen / dev / sda6, während ein du / export / dev / sda6 und / dev / sda7 messen würde. Es gibt einige Flaggen bezüglich der Überschreitung der Dateisystemgrenzen, die die Anzahl ändern würden. Der Umgang mit symbolischen Links könnte sich ebenfalls auf die Ergebnisse auswirken.