SWAP in Linux

Anleitung zur Einrichtung und Konfiguration des Swap-Bereichs unter Linux.

SWAP (Swap-Speicher) ist ein Mechanismus für virtuellen Speicher in Linux, der inaktive Daten aus dem RAM auf die Festplatte (HDD oder SSD) auslagert, um physischen Speicher für aktive Aufgaben freizugeben. Er fungiert als Notfallpuffer bei Speichermangel, jedoch ist der Festplattenzugriff zehntausendmal langsamer als RAM, sodass intensiver Swap-Einsatz das System merklich verlangsamt.

In Linux wird der RAM in Seiten (Pages) unterteilt. Swapping bezeichnet den Vorgang, wenig genutzte Seiten in einen dedizierten Festplattenbereich — den sogenannten Swap-Speicher — auszulagern. Dieser kann als Datei oder als eigene Partition vorliegen. RAM und Swap-Speicher bilden gemeinsam den gesamten virtuellen Speicher des Systems.

Wozu wird Swap benötigt

Swap erfüllt zwei Hauptaufgaben:

  • Benötigt das System mehr Speicher als verfügbar ist, verschiebt der Kernel die am wenigsten genutzten Seiten in den Swap-Speicher und gibt RAM für aktive Prozesse frei.
  • Viele Seiten, die Anwendungen beim Start laden, werden danach kaum noch gebraucht. Das System kann sie in den Swap-Speicher auslagern und so RAM für wichtigere Aufgaben freihalten.

Nachteile von Swap

Der entscheidende Nachteil ist die Geschwindigkeit. RAM-Operationen laufen im Nanosekundenbereich, Festplattenoperationen hingegen im Millisekundenbereich — das ist zehntausendmal langsamer. Intensiver Swap-Einsatz führt zu spürbaren Leistungseinbußen.

Hinweis

Wenn Anwendungen stark auf den Swap-Speicher angewiesen sind, bricht die Leistung merklich ein. In solchen Fällen empfiehlt sich eine RAM-Erweiterung. Eine Möglichkeit ist, das Projekt auf einen leistungsstärkeren VPS oder dedizierten Server mit flexibler Ressourcenskalierung umzuziehen.

Typische Anzeichen für Speichermangel (vor allem bei Datenbanken):

  • Häufige Website-Fehler wie „Datenbankverbindung fehlgeschlagen" (z. B. MySQL-Absturz)
  • Logeinträge mit InnoDB: Fatal error: cannot allocate memory for the buffer pool
  • Langsame Serverantworten trotz niedriger CPU-Auslastung

Auch auf SSDs laufen Swap-Operationen über das Festplatten-Subsystem und erhöhen damit die Latenz.

Wenn Ihr System stark auf Swap angewiesen ist, sollten Sie entweder den RAM aufrüsten oder die Anwendung optimieren. Erwägen Sie den Umstieg auf einen leistungsstärkeren VPS oder einen dedizierten Server.

Swap prüfen

Führen Sie aus:

swapon -s

Beispielausgabe:

Filename                Type        Size    Used    Priority
/swapfile              file        40956   40956   -1

Oder für eine schnelle Übersicht:

free -m

Beispielausgabe:

              total        used        free      shared  buff/cache   available
Mem:            488         160           7          40         320         259
Swap:            39          39           0

Zeigt Swap den Wert 0 oder fehlt der Eintrag — muss Swap erst erstellt werden.

Unsere Produkte und Dienste

WebhostingLäuft auf ultraschnellen NVMe-Laufwerken. Geeignet für Websites jeder Komplexität.
Bestellen
VPSFlexible Cloud-Infrastruktur mit vollem Root-Zugriff.
Bestellen
Dedizierte ServerBare-Metal-Server für maximale Leistung.
Bestellen

Swap-Datei erstellen (empfohlene Methode)

  1. Swap-Datei erstellen (Beispiel: 2 GB):
sudo fallocate -l 2G /swapfile

oder

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
  1. Berechtigungen einschränken (nur root darf lesen/schreiben):
sudo chmod 600 /swapfile
  1. Als Swap formatieren:
sudo mkswap /swapfile
  1. Swap-Datei aktivieren:
sudo swapon /swapfile
  1. Dauerhaft einbinden — Eintrag in /etc/fstab hinzufügen:
sudo nano /etc/fstab

Diese Zeile am Ende einfügen:

/swapfile none swap sw 0 0

Speichern (Ctrl+O → Enter → Ctrl+X).

  1. Prüfen:
free -h

Optional: Swappiness anpassen

swappiness steuert, wie aggressiv das System den Swap-Speicher nutzt (0–100, Standard 60).

Aktuellen Wert prüfen:

cat /proc/sys/vm/swappiness

Niedrigeren Wert setzen (für Server empfohlen: 10–20):

sudo sysctl vm.swappiness=10

Für dauerhafte Gültigkeit in /etc/sysctl.conf eintragen:

vm.swappiness=10

Übernehmen:

sudo sysctl -p

Hilfe

Bei Fragen oder wenn Sie Unterstützung brauchen, erreichen Sie uns jederzeit über das Ticketsystem — wir helfen Ihnen gern weiter!

Hilfe benötigt?Unsere Ingenieure helfen Ihnen kostenlos bei jeder Frage in wenigen MinutenKontaktieren Sie uns