Differenzen im Festplattenspeicher

Inqui

Member
Hi ho,
mal ein kleines Kuriosum in meinen Augen als BSD Anfänger:

Sicherlich gibt es dafür eine logische Erklärung, wenn von 180 GB 2.2 GB benutzt und dann nur noch 163 GB frei sein sollen.

Ich hoffe zumindest das es dafür eine logische Erklärung gibt, die Swap Partition ist 512 MB gross :)

Code:
Filesystem            Size    Used   Avail Capacity  Mounted on
/dev/mirror/gm0s1a    180G    2.2G    163G     1%    /
devfs                 1.0K    1.0K      0B   100%    /dev

Kann mir da jemand weiterhelfen?
 
9.23. Wieso geben die Befehle du und df unterschiedliche Werte für den freien Plattenplatz aus?

Der Grund ist die Funktionsweise von du und df. du geht durch einen Dateibaum, ermittelt die Größe jeder einzelnen Datei, und gibt die Summe aus. df fragt lediglich das Dateisystem wie viel Platz noch frei ist. Das scheint zwar auf den ersten Blick sehr ähnlich zu sein; allerdings wird sich ein leeres Verzeichnis auf die Ausgabe von df auswirken, während es auf das Ergebnis von du keinen Einfluss hat.

Wenn Sie eine Datei löschen, während sie von einem Programm genutzt wird, wird diese Datei erst gelöscht, wenn sie vom Programm freigegeben wird. Allerdings wird die Datei sofort aus dem Verzeichnis entfernt. Sie können dieses Verhalten mit einem Programm wie more sehr einfach nachvollziehen. Dazu brauchen Sie nur eine Datei, die groß genug ist, um die Ausgabe von du und df zu beeinflussen. Bei der Größe aktueller Platten muss diese Datei schon sehr groß sein! Wenn Sie diese Datei löschen, während Sie sie sich in more anzeigen lassen, hat more kein Problem. Der Eintrag für die Datei wird lediglich aus dem Verzeichnis entfernt, damit kein anderes Programm mehr darauf zugreifen kann. Laut du ist die Datei verschwunden - es hat das Verzeichnis untersucht und die Datei nicht gefunden. Laut df ist die Datei aber vorhanden, da sie im Dateisystem immer noch Platz belegt. Sobald Sie more beenden, werden die Ergebnisse von du und df wieder übereinstimmen.

Bitte beachten Sie, dass die Freigabe des Plattenplatzes durch die Soft Updates um bis zu 30 Sekunden verzögert werden kann.

Die oben beschriebene Situation tritt sehr häufig auf Web-Servern auf. Viele Anwender installieren einen FreeBSD Web-Server und vergessen die Rotation der Logfiles, bis irgendwann die Partition /var überläuft. Der Administrator löscht die Datei, aber das System beschwert sich immer noch über fehlenden Plattenplatz. Die Datei wird erst freigegeben, wenn der Web-Server beendet und neu gestartet wird; dadurch kann das System den Plattenplatz freigeben. Um solche und ähnliche Unfälle zu verhindern, sollten Sie newsyslog(8) einsetzen.

Aus:
http://www.freebsd.org/doc/de/books/faq/disks.html#DU-VS-DF
 
Zurück
Oben