Swap-Speicher ist ein wichtiger Bestandteil von Linux-Systemen, der als Auslagerungsbereich für RAM dient. Besonders auf Servern mit hoher Last oder in virtualisierten Umgebungen kann Swap verhindern, dass Prozesse aufgrund von Speichermangel abstürzen. Gleichzeitig kann zu viel Swap die Performance beeinträchtigen, da Festplattenzugriffe langsamer sind als RAM. Dieser Leitfaden erklärt praxisnah, wie man Swap unter Linux konfiguriert und die richtige Größe bestimmt.
Grundlagen von Swap
Swap ist Speicherplatz auf der Festplatte, den das Betriebssystem verwendet, wenn der RAM voll ist. Linux unterstützt zwei Hauptarten von Swap:
- Swap-Partition: Dedizierte Partition auf einer Festplatte
- Swap-Datei: Datei innerhalb eines bestehenden Dateisystems
Beide Varianten bieten ähnliche Funktionalität, wobei Swap-Dateien flexibler und einfacher nachträglich erweiterbar sind.
Wann wird Swap benötigt?
Swap wird unter anderem benötigt, um:
- Überlast im RAM abzufedern
- Systemabstürze bei kurzfristigem Speichermangel zu vermeiden
- Hibernation (Suspend-to-Disk) zu ermöglichen
Empfohlene Swap-Größen
Die klassische Faustregel lautete „Swap = 2×RAM“, gilt aber nur für Systeme mit wenig RAM. Moderne Server haben oft viel RAM, daher sollten die Größen pragmatisch gewählt werden:
- RAM < 2 GB: Swap mindestens 2×RAM
- RAM 2–8 GB: Swap ≈ RAM
- RAM 8–32 GB: Swap 4–8 GB ausreichend
- RAM > 32 GB: Swap 4–16 GB, abhängig von Workload und Hibernation
Swappiness einstellen
Linux steuert, wie aggressiv Swap verwendet wird, über den Parameter vm.swappiness (0–100).
# Aktuellen Wert anzeigen
cat /proc/sys/vm/swappiness
# Wert temporär ändern
sudo sysctl vm.swappiness=10
# Wert dauerhaft ändern
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
Ein niedriger Wert bevorzugt RAM, hoher Wert nutzt Swap aggressiver. Für Server ohne Hibernation ist 10–20 oft optimal.
Swap-Partition einrichten
Swap-Partitionen werden typischerweise während der Installation erstellt, können aber auch nachträglich eingerichtet werden.
# Neue Partition als Swap markieren (fdisk/parted)
sudo mkswap /dev/sdb1
sudo swapon /dev/sdb1
# Swap aktivieren nach Reboot
echo '/dev/sdb1 none swap sw 0 0' | sudo tee -a /etc/fstab
Swap-Datei einrichten
Eine Swap-Datei ist flexibler und kann bei Bedarf vergrößert werden:
# 8GB Swap-Datei erstellen
sudo fallocate -l 8G /swapfile
# Rechte setzen
sudo chmod 600 /swapfile
# Datei als Swap formatieren
sudo mkswap /swapfile
# Swap aktivieren
sudo swapon /swapfile
# Automatisch beim Booten aktivieren
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Monitoring und Optimierung
Swap-Nutzung sollte überwacht werden, um Performance-Probleme früh zu erkennen:
# Übersicht über Swap-Nutzung
swapon --show
free -h
# Detailierte Anzeige
vmstat 2 5
Wenn Swap häufig genutzt wird, kann dies auf unzureichenden RAM oder fehlerhafte Workload-Verteilung hinweisen.
Best Practices
- Swap immer mindestens für Hibernation ausreichend dimensionieren
- Swappiness niedrig setzen für Server mit ausreichend RAM
- Monitoring implementieren und Swap-Auslastung analysieren
- Swap-Dateien sind einfacher zu verwalten und zu skalieren als Partitionen
- Auf SSDs bietet Swap gute Performance, auf HDDs sollte Swap-Größe moderat gewählt werden
Mit diesen Maßnahmen lässt sich sicherstellen, dass Linux-Server stabil laufen, auch unter Last, ohne unnötige Performance-Einbußen durch übermäßigen Swap-Einsatz.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

