VMware ESXi and vSphere Cluster Management

Speicherplatz und Inodes in Linux mit df ermitteln

Mit df prüfen Sie Speicherplatz, Auslastung, Mountpoints und Inodes eingehängter Linux-Dateisysteme – verständlich erklärt mit Beispielen.

Der Linux-Befehl df zeigt, wie viel Speicherplatz in eingehängten Dateisystemen insgesamt vorhanden, belegt und verfügbar ist. Zusätzlich lässt sich prüfen, ob die Inodes eines Dateisystems knapp werden.

Das ist besonders nützlich, wenn ein System wegen voller Partitionen, vieler kleiner Dateien oder knappem freien Speicherplatz Probleme verursacht.

Was ist df?

df ist ein Linux-Werkzeug zur Anzeige der Speicherbelegung von Dateisystemen. Ein Dateisystem organisiert Dateien und Verzeichnisse auf einem Speicherbereich, zum Beispiel auf einer Partition. Typische Dateisystemtypen sind ext4, xfs, tmpfs und procfs.

Ohne weitere Optionen zeigt df die derzeit eingehängten Dateisysteme an. Für jedes Dateisystem werden unter anderem die Gesamtgröße, der belegte Speicherplatz, der verfügbare Speicherplatz und die prozentuale Auslastung ausgegeben.

Grundaufruf und Standardausgabe

df

Die Standardausgabe verwendet typischerweise 1-KB-Blöcke. Die Zahlen sind deshalb korrekt, aber ohne zusätzliche Umrechnung oft schwer auf einen Blick zu beurteilen.

Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda2       51200000  28400000  20100000  59% /
/dev/sda3      102400000  65000000  32200000  67% /home

Die konkrete Ausgabe hängt von der Linux-Distribution und der vorhandenen Systemkonfiguration ab. Lange Gerätenamen können außerdem dazu führen, dass eine Zeile optisch umgebrochen wird.

Die Ausgabespalten verstehen

Filesystem – Gerät oder Quelle des Dateisystems, beispielsweise /dev/sda2.

Size beziehungsweise 1K-blocks – gesamte Kapazität des Dateisystems in der jeweiligen Blockeinheit.

Used – bereits belegter Speicherplatz.

Available – Speicherplatz, der noch für neue Daten verfügbar ist.

Use% – prozentualer Anteil des belegten Speicherplatzes.

Mounted on – Mountpoint, also der Verzeichnispfad, unter dem das Dateisystem erreichbar ist.

Ein Mountpoint ist ein Verzeichnis im Linux-Verzeichnisbaum, unter dem ein eingehängtes Dateisystem sichtbar wird. Ein Gerät wie /dev/sda2 und sein Mountpoint wie / sind daher nicht dasselbe.

Auch die Begriffe Partition und Dateisystem sind nicht gleichbedeutend: Eine Partition ist ein Bereich eines Datenträgers. Darauf kann ein Dateisystem liegen, aber ein Dateisystem kann je nach Speicherkonfiguration auch anders bereitgestellt werden.

Menschenlesbare Größen mit df -h

df -h

Die Option -h steht für „human-readable“. Statt großer Blockzahlen verwendet df passende Einheiten wie K, M, G oder T.

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        49G   28G   20G  59% /
/dev/sda3        98G   62G   31G  67% /home

df -h eignet sich besonders für die schnelle manuelle Beurteilung. Die Spalte Avail zeigt dabei, wie viel Platz noch nutzbar ist, während Use% den relativen Füllstand angibt.

Dateisysteme nach Typ filtern

Mit -t lässt sich die Ausgabe auf einen Dateisystemtyp beschränken. Der Dateisystemtyp beschreibt, nach welchen Regeln Daten und Metadaten organisiert werden.

df -t ext4
df -t xfs
df -t tmpfs

df -t ext4 zeigt nur ext4-Dateisysteme. Entsprechend beschränkt df -t xfs die Ausgabe auf XFS und df -t tmpfs auf temporäre, speicherbasierte Dateisysteme.

Diese Filterung hilft, wenn beispielsweise nur dauerhafte Datenträger oder nur temporäre Dateisysteme untersucht werden sollen.

Inode-Auslastung mit df -i prüfen

Ein Inode ist eine Metadatenstruktur des Dateisystems. Sie verwaltet Informationen zu einer Datei oder einem Verzeichnis, zum Beispiel Typ, Besitzer, Zugriffsrechte und Verweise auf die Datenblöcke. Für jede Datei und jedes Verzeichnis wird normalerweise ein Inode benötigt.

df -i
Filesystem      Inodes   IUsed   IFree IUse% Mounted on
/dev/sda2      3200000  850000 2350000   27% /
/dev/sda3      6400000 6200000  200000   97% /home

Die Ausgabe enthält typischerweise:

  • Inodes – gesamte Anzahl verfügbarer Inodes.
  • IUsed – bereits verwendete Inodes.
  • IFree – noch freie Inodes.
  • IUse% – prozentualer Inode-Verbrauch.
  • Mounted on – Mountpoint des Dateisystems.

Ein Dateisystem kann noch freie Datenblöcke besitzen und trotzdem keine neuen Dateien mehr aufnehmen, wenn alle Inodes verbraucht sind. Das kommt vor allem bei sehr vielen kleinen Dateien vor, etwa bei Cache-Dateien, Maildirs oder Logstrukturen.

Datenblöcke mit df oder df -hTypische Beobachtung: Use% oder Avail zeigt eine sehr volle Partition. Auswirkung: Große Dateien können nicht mehr geschrieben werden.

Inodes mit df -iTypische Beobachtung: IUse% liegt nahe 100 %, obwohl df -h noch freien Platz meldet. Auswirkung: Neue Dateien oder Verzeichnisse können nicht mehr angelegt werden.

Alle Dateisysteme einschließlich Pseudo-Dateisystemen anzeigen

df -a

Die Option -a bezieht auch Dateisysteme ein, die in der normalen Ausgabe häufig ausgelassen werden. Dazu gehören Pseudo-Dateisysteme. Das sind virtuelle Dateisysteme, die System- oder Kernelinformationen bereitstellen und nicht wie eine normale Festplattenpartition funktionieren.

df -a

Ein bekanntes Beispiel ist procfs unter /proc. Dort stellt der Kernel Informationen über Prozesse und den Systemzustand bereit. Weitere virtuelle Einträge können je nach System beispielsweise sysfs, devtmpfs oder tmpfs sein.

Solche Einträge sehen in der Ausgabe oft wie Dateisysteme aus, repräsentieren aber nicht zwingend nutzbaren Speicherplatz auf einer Festplattenpartition. Für eine Datenträgeranalyse sollten sie entsprechend eingeordnet oder durch einen Dateisystemtypfilter ausgeschlossen werden.

Das Dateisystem eines Verzeichnisses prüfen

df /home

Wird ein Pfad übergeben, ermittelt df das Dateisystem, auf dem dieser Pfad liegt, und zeigt nur dessen Belegung an. Das ist nützlich, wenn Sie nicht die gesamte Systemübersicht benötigen.

df -h /home

In diesem Beispiel wird geprüft, wie viel Platz im Dateisystem verfügbar ist, das für /home zuständig ist. Das Verzeichnis /home muss dabei keine eigene Partition sein. Es kann auch Teil des Root-Dateisystems sein. Entscheidend ist der Mountpoint, den df in der Ausgabe nennt.

Wichtige Optionen im Überblick

-h – Speichergrößen in menschenlesbaren Einheiten anzeigen. Beispiel: df -h.

-t DATEISYSTEMTYP – nur Dateisysteme eines bestimmten Typs anzeigen. Beispiel: df -t ext4.

-i – Inode-Kapazität und Inode-Auslastung anzeigen. Beispiel: df -i.

-a – auch normalerweise ausgelassene Dateisysteme und Pseudo-Dateisysteme anzeigen. Beispiel: df -a.

Pfadargument – das Dateisystem des angegebenen Pfads prüfen. Beispiel: df /home.

Ergebnisse richtig interpretieren

Ein hoher Wert in Use% ist ein Warnsignal für drohenden Platzmangel. Je nach Anwendung kann ein Dateisystem bereits vor 100 Prozent problematisch werden, weil Dienste temporäre Dateien, Protokolle oder neue Benutzerdaten benötigen.

Für neue Daten ist die Spalte Available beziehungsweise Avail besonders wichtig. Sie zeigt den Platz, der noch nutzbar ist. Die Differenz zwischen Gesamtgröße, belegtem und verfügbarem Platz kann unter anderem durch reservierte Blöcke entstehen. Diese Reserven können dazu dienen, Systemdienste und administrative Maßnahmen auch bei einer sehr vollen Partition funktionsfähig zu halten.

Bei jeder Speicherplatzstörung sollten Sie beide Perspektiven prüfen:

  1. Mit df -h die Auslastung der Datenblöcke untersuchen.
  2. Mit df -i den Verbrauch der Inodes kontrollieren.
  3. Mit einem Pfadargument wie df -h /home das tatsächlich betroffene Dateisystem identifizieren.

Typische Probleme und Lösungen

Freier Platz vorhanden, aber keine neue Datei möglich

Wenn beim Anlegen einer Datei eine Meldung über fehlenden Speicherplatz erscheint, obwohl df -h noch freien Platz meldet, können die Inodes erschöpft sein.

df -i

Prüfen Sie, ob IUse% nahe 100 Prozent liegt. Suchen Sie anschließend nach Verzeichnissen mit sehr vielen kleinen Dateien. Nicht mehr benötigte Dateien können nach einer fachlichen Prüfung entfernt oder verschoben werden. Für langfristige Systeme sollte außerdem die Inode-Kapazität bei der Dateisystemplanung berücksichtigt werden.

Viele Einträge sehen nicht wie Partitionen aus

Wurde df -a verwendet, enthält die Ausgabe wahrscheinlich Pseudo-Dateisysteme wie /proc. Diese Einträge liefern wichtige Systeminformationen, sind aber keine gewöhnlichen Datenträgerpartitionen.

Betrachten Sie für die Beurteilung von Festplattenspeicher die regulären eingehängten Dateisysteme oder filtern Sie nach einem passenden Typ, etwa mit df -t ext4.

/home ist offenbar keine eigene Partition

Das ist normal: Ein Verzeichnis muss nicht separat eingehängt sein. Führen Sie df /home aus und prüfen Sie den angezeigten Mountpoint. Liegt dort /, gehört /home zum Root-Dateisystem.

Die Zahlen der Standardausgabe sind unübersichtlich

Ohne Option gibt df die Werte typischerweise in 1-KB-Blöcken aus. Verwenden Sie df -h, um die Größen in leichter lesbaren Einheiten wie M oder G darzustellen.

Kurzübersicht für die Praxis

# Alle regulär angezeigten Dateisysteme prüfen
df

# Größen lesbar darstellen
df -h

# Nur ext4-Dateisysteme anzeigen
df -t ext4

# Nur XFS-Dateisysteme anzeigen
df -t xfs

# Inode-Verbrauch prüfen
df -i

# Pseudo-Dateisysteme einbeziehen
df -a

# Dateisystem eines konkreten Pfads prüfen
df -h /home

Für die Belegung einzelner Verzeichnisse ist df nicht das passende Werkzeug: df betrachtet das gesamte Dateisystem. Eine ergänzende Analyse des Verbrauchs einzelner Dateien und Verzeichnisse erfolgt mit Werkzeugen zur Speicherermittlung.