Analyse der Festplattenbelegung

LinuxBeginner
Jetzt üben

Einführung

Um eine volle Festplatte aufzuräumen, müssen Sie zwei Fragen beantworten:

  1. „Wo befinden sich die riesigen Kisten?“ (Große Verzeichnisse)
  2. „Wo liegen die riesigen Gegenstände?“ (Große Dateien)

Dafür verwenden Sie diese Werkzeuge:

  • find: Metalldetektor (findet Dateien anhand ihrer Größe)
  • du: Waage (ermittelt die Größe von Verzeichnissen)
  • sort: Sortierer (ordnet nach Größe)

In diesem Lab führen Sie eine professionelle „Frühjahrsputz“-Prüfung durch.

Diese Art der Analyse ist im Produktionsbetrieb üblich. Wenn ein Dateisystem voll ist, lautet die entscheidende Frage meist nicht „Ist es voll?“, sondern „Welche konkreten Dateien oder Verzeichnisse sind dafür verantwortlich?“

Große Dateien finden (find)

Verwenden Sie find, um „große Fische“ zu finden, also Dateien mit mehr als 100 MB.

cd ~/project
find . -type f -size +100M

Aufschlüsselung:

  • .: Aktuelles Verzeichnis
  • -type f: Nur Dateien
  • -size +100M: Größer als 100 Megabyte

Der Befehl find ist besonders leistungsfähig, weil er anhand von Regeln sucht, anstatt Verzeichnisse manuell zu durchsuchen. Dadurch eignet er sich besonders für große oder unübersichtliche Dateisysteme.

Ausgabe:

./storage/backup_v1.iso

Speichern Sie den Bericht:

find . -type f -size +100M > large_files.txt
cat large_files.txt

Verzeichnisgrößen analysieren (du)

Manchmal liegt das Problem in einer „Krimskrams-Schublade“, also in einem Verzeichnis mit vielen kleinen Dateien.

Ermitteln Sie mit du die Größe von /var (veränderliche Daten):

sudo du -h --max-depth=1 /var

Aufschlüsselung:

  • -h: Lesbare Größenangaben (MB, GB)
  • --max-depth=1: Nur Verzeichnisse der obersten Ebene anzeigen (entscheidend!)

Ausgabe:

246M    /var/cache
5.5G    /var/lib
...

Damit wissen Sie, dass /var/lib die größte „Kiste“ ist.

Die Analyse auf Verzeichnisebene ist nützlich, weil Speicherprobleme häufig entweder durch eine einzelne sehr große Datei oder durch einen Bereich des Dateisystems entstehen, in dem sich im Laufe der Zeit viele Daten ansammeln.

Die größten Verzeichnisse sortieren (sort)

Unsortierte Listen sind schwer zu lesen. Verwenden Sie sort, um die Ergebnisse zu ordnen.

Kombinieren Sie du, sort und head zur „goldenen Kombination“:

sudo du -h --max-depth=1 /var | sort -hr | head -n 5 > ~/project/top_var_dirs.txt

Aufschlüsselung:

  • du ...: Größen ermitteln
  • sort -hr: Lesbare Größen in umgekehrter Reihenfolge sortieren (größte zuerst)
  • head -n 5: Nur die fünf größten Einträge anzeigen

Prüfen Sie den Bericht:

cat ~/project/top_var_dirs.txt

Dies ist ein typischer Arbeitsablauf für Systemadministratoren.

Merken Sie sich diesen Ablauf: Ermitteln Sie den Bereich mit dem größten Speicherverbrauch, sortieren Sie die Ergebnisse und konzentrieren Sie Ihre Aufräumarbeiten zuerst auf den Bereich, in dem sie die größte Wirkung erzielen.

Zusammenfassung

In diesem Lab haben Sie gelernt, den Speicherplatz wie ein „Detektiv“ zu untersuchen.

  • find -size: Damit haben Sie bestimmte große Dateien gefunden – die „großen Fische“.
  • du -h --max-depth=1: Damit haben Sie die Größe der wichtigsten Verzeichnisse ermittelt – die „schweren Kisten“.
  • sort -hr: Damit haben Sie die Verzeichnisse nach Größe geordnet, um die Aufräumarbeiten zu priorisieren.

Mit diesen Werkzeugen können Sie schnell die Frage „Warum ist mein Server voll?“ beantworten und das Problem beheben, bevor es zu einem größeren Problem wird.