Wenn Sie auf einem Linux-Server erfahren möchten, wie viel Speicherplatz noch verfügbar ist und welche Dateien oder Verzeichnisse den meisten Platz belegen, liefern die Befehle „df“ und „du“ eine schnelle Antwort. „df“ zeigt das gesamte Dateisystem an, während „du“ die Größe der einzelnen Verzeichnisse und Dateien anzeigt.
Der Befehl „df“: Gesamte Festplattenauslastung
„df“ (Disk Free) zeigt den gesamten, belegten und freien Speicherplatz der gemounteten Dateisysteme an:
df -h
Die Option -h (human-readable) gibt die Werte in lesbarer Form (K, M, G) anstelle der rohen Blockzahlen aus. Der Befehl „df -hT“ gibt auch den Dateisystemtyp (z. B. xfs, ext4) aus, während „df -h /var“ nur das Dateisystem anzeigt, auf dem sich das angegebene Verzeichnis befindet. Die Einträge „tmpfs“ und „devtmpfs“ in der Liste sind temporäre Dateisysteme im Arbeitsspeicher; diese belegen keinen Speicherplatz auf der Festplatte.
Inodes
Ein Dateisystem kann auch dann voll sein, wenn laut „df -h“ noch freier Speicherplatz vorhanden ist: Jede Datei belegt einen Inode, und deren Anzahl ist begrenzt. Bei vielen kleinen Dateien (z. B. Cache- oder Sitzungsdateien) gehen die Inodes schneller zur Neige. So überprüfen Sie dies:
df -i
Was ein Inode ist, erklären wir in einem separaten Artikel.
Der Befehl „du“: Größe von Ordnern und Dateien
Die „du“ (Disk Usage) gibt die tatsächliche Größe eines Ordners oder einer Datei auf der Festplatte an:
du -sh /var/www
Der Schalter „-s“ (Zusammenfassung) gibt nur die Gesamtgröße aus, der Schalter „-h“ sorgt auch hier für ein lesbares Format.
Die größten Ordner suchen
Der folgende Befehl listet die direkten Unterverzeichnisse des angegebenen Verzeichnisses in absteigender Reihenfolge nach ihrer Größe auf:
sudo du -h --max-depth=1 /var | sort -rh | head -n 15
Wenn Sie in den größten Unterordner wechseln, können Sie den Befehl so lange wiederholen, bis Sie herausgefunden haben, was den Speicherplatz belegt. Fügen Sie bei der Überprüfung des gesamten Stammverzeichnisses den Schalter -x hinzu (du -xh --max-depth=1 /), damit du nicht in andere Dateisysteme wechselt.
Die größten einzelnen Dateien (in diesem Fall diejenigen, die größer als 500 MB sind) lassen sich mit dem Befehl „find“ suchen:
sudo find / -xdev -type f -size +500M -exec ls -lh {} \; 2>/dev/null
Wenn Sie eine interaktive Menüansicht wünschen, installieren Sie bitte das Programm „ncdu“ (mit dem Befehl „apt install ncdu“ bzw. unter AlmaLinux aus dem EPEL-Repository mit „dnf install ncdu“). Weitere Optionen von „du“ (Ausschlüsse, Größenschwellen, Hardlinks, seltene Dateien, Inodes) werden im ausführlichen Artikel zum Befehl „du“ vorgestellt.
Häufig verwendete Platzhalter
- Protokolldateien: die Dateien im Verzeichnis
/var/logsowie dieerror_log-Dateien der Websites. Ein separater Artikel befasst sich mit dem Auffinden und Löschen großer error_log-Dateien. Das systemd-Protokoll kann mit dem Befehl „journalctl --disk-usage“ überprüft und beispielsweise mit dem Befehl „journalctl --vacuum-size=500M“ verkleinert werden. - Alte Backups und Archive, die auf dem Server verbleiben.
- Paket-Cache: Dieser kann mit dem Befehl „
dnf clean all“ oder „apt clean“ geleert werden.
Wenn „df“ und „du“ unterschiedliche Werte anzeigen
Wenn laut „df“ der Speicherplatz voll ist, „du“ jedoch nicht so viele Daten findet, hält wahrscheinlich ein laufendes Programm eine bereits gelöschte Datei noch offen. Die Lösung hierfür wird im Artikel „Der Speicherplatz ist voll, aber ‚du‘ zeigt dies nicht an“ beschrieben.
Warum ist dies wichtig?
Eine volle Festplatte verursacht erhebliche Probleme: Dienste können ausfallen, Datenbankvorgänge und Backups schlagen fehl. Wenn der Speicherplatz regelmäßig knapp wird und das Bereinigen nicht hilft, können Sie unter den KVM-VPS-Paketen auch ein Hosting-Paket mit größerem Speicherplatz wählen. Bei cPanel-Hosting lässt sich die Festplattennutzung auch über eine grafische Oberfläche überprüfen, siehe: Überprüfung der Festplattennutzung in cPanel.