Skip to content
VDS · Backups und Festplatte

Speicherplatz: wohin er verschwindet

Wie Sie finden, was die Festplatte gefüllt hat, warum eine gelöschte, aber offene Datei gefährlich ist, was sicher zu bereinigen ist und warum der Belegungsring im Panel das Falsche anzeigen kann.

Aktualisiert am 23. August 2026

Wenn der Speicherplatz knapp wird, sieht das wie jeder beliebige Ausfall aus: Die Datenbank schreibt nicht mehr, die Website liefert einen Fehler, Container starten neu. Eine VDS-Festplatte reicht von 40 GB in der Einstiegsstufe bis 250 GB in der obersten Stufe, und sie füllt sich fast immer mit denselben Dingen.

Erste Befehle

df -h
df -i
sudo du -x -h -d1 / | sort -h | tail -15

Überspringen Sie df -i nicht: Möglicherweise haben Sie Platz, aber die Inodes sind aufgebraucht – dann erhalten Sie „Festplatte voll“ bei freien Gigabytes. Der Übeltäter sind meist Millionen kleiner Cache-Dateien.

Dann gehen Sie ins größte Verzeichnis hinein:

sudo du -x -h -d1 /var | sort -h | tail
sudo du -x -h -d1 /var/lib | sort -h | tail

Das Flag -x hält die Zählung innerhalb eines einzigen Dateisystems und wandert nicht in eingebundene Verzeichnisse.

Häufige Ursachen

WasWie Sie es prüfenWas zu tun ist
Container-Logsdu -sh /var/lib/docker/containers/*/*-json.logDie Größe begrenzen, siehe Logs
Images und Build-Cachedocker system dfdocker image prune, docker builder prune
System-Journaljournalctl --disk-usagejournalctl --vacuum-size=200M
Alte Kernel in /bootdf -h /bootapt autoremove --purge
Paket-Cachedu -sh /var/cache/aptapt clean
Zurückgelassene Kopiendu -sh /backupVerschieben Sie sie an einen anderen Ort, siehe anderer Standort
Uploads der Nutzerdu -sh /var/www/uploadsSpeicher auslagern oder eine größere Festplatte

Eine gelöschte Datei, die noch Platz belegt

Ein klassisches Rätsel: du zeigt 5 GB, df zeigt 30 GB belegt. Das bedeutet, die Datei wurde gelöscht, aber ein Prozess hält sie noch offen, und der Platz wird erst nach einem Neustart freigegeben.

sudo lsof +L1 | head -20

Die Ausgabe zeigt Prozesse und Größen. Die Lösung ist, den Verursacher neu zu starten:

sudo systemctl restart <service>
docker compose restart <service>

Geben Sie niemals Platz mit rm auf einer Log-Datei frei, die in Benutzung ist. Der richtige Weg ist, sie zu kürzen: sudo truncate -s 0 /var/log/big.log. Beim Löschen bleibt der Platz belegt und Sie verlieren zusätzlich das Log.

Der Auslastungsring im Panel

Im Tab „Übersicht“ gibt es einen Ring für die Festplattenauslastung. Er wird über den Guest-Agent qemu-guest-agent berechnet. Wenn der Agent entfernt wurde oder nicht läuft, werden die Daten nicht aktualisiert – das Panel zeigt den Installationsbefehl an. Zur Kontrolle innerhalb der Maschine:

systemctl status qemu-guest-agent

Die Werte des Agents und df -h sollten übereinstimmen. Eine Abweichung bedeutet meist, dass ein Teil des Platzes in einer separat eingebundenen Partition belegt ist – siehe Partitionen und Dateisysteme.

Vorbeugung

Richten Sie eine geplante Aufgabe mit Bereinigung und Alarmierung ein:

#!/bin/bash
USED=$(df --output=pcent / | tail -1 | tr -dc '0-9')
if [ "$USED" -gt 85 ]; then
  journalctl --vacuum-size=200M
  apt clean
  docker image prune -f
  echo "Disk is ${USED}% full" | mail -s "VDS: low disk space" you@example.com
fi

Ein Schwellenwert von 85 % gibt Ihnen Raum zum Reagieren. Auf 100 % können Sie nicht warten: Wenn die Festplatte voll ist, können manche Dienste nicht einmal mehr ein Log darüber schreiben, was passiert ist.

Wenn gar kein Platz mehr da ist

  1. Geben Sie mit schnellen Maßnahmen ein paar Gigabytes frei: journalctl --vacuum-size=100M, apt clean, docker builder prune -f.
  2. Finden Sie die eigentliche Ursache mit den obigen Befehlen – sonst wiederholt sich alles in einer Woche.
  3. Wenn die Daten wirklich gewachsen sind, müssen Sie die Festplatte durch einen Wechsel in eine höhere Stufe vergrößern. Ein Downgrade ist nicht verfügbar: Die Festplatte kann nicht verkleinert werden.