Die Speicherverwaltung ist ein entscheidender Faktor für die Performance von Linux-Servern. Neben RAM spielen insbesondere Swap-Space und der sogenannte Swappiness-Wert eine zentrale Rolle. Dieser Artikel erklärt, wie Sie Swappiness prüfen, anpassen und weitere Memory-Tuning-Maßnahmen durchführen können, um den Serverbetrieb stabil und performant zu gestalten.
Swappiness verstehen
Swappiness bestimmt, wie aggressiv das System inaktivem Speicher auf die Swap-Partition auslagert. Ein niedriger Wert hält Daten länger im RAM, ein hoher Wert sorgt für frühzeitiges Swapping.
- Swappiness aktuell prüfen:
cat /proc/sys/vm/swappiness - Typischer Default-Wert: 60 (von 0 bis 100)
- Wert 0 → sehr zurückhaltendes Swapping
- Wert 100 → aggressives Swapping
Swappiness temporär ändern
Für Tests oder kurzfristige Performance-Anpassungen kann Swappiness direkt gesetzt werden. Dies gilt nur bis zum nächsten Neustart.
- Beispiel:
sudo sysctl vm.swappiness=10 - Direkt prüfen:
cat /proc/sys/vm/swappiness
Swappiness dauerhaft einstellen
Für dauerhafte Anpassungen muss der Wert in der Konfiguration hinterlegt werden.
/etc/sysctl.conf nutzen
- Eintrag hinzufügen:
vm.swappiness=10 - Änderung laden:
sudo sysctl -p
Memory-Tuning über /etc/sysctl.d/
- Datei erstellen:
sudo nano /etc/sysctl.d/99-memory.conf - Beispielinhalt:
vm.swappiness=10 vm.vfs_cache_pressure=50 - Änderungen aktivieren:
sudo sysctl --system
Weitere Memory-Tuning Parameter
Neben Swappiness gibt es weitere wichtige sysctl-Parameter, die Speicherverwaltung und Performance beeinflussen.
- vm.vfs_cache_pressure: Steuert, wie aggressiv der Kernel Dateisystem-Caches freigibt. Standard: 100, niedrigerer Wert hält Cache länger.
- vm.dirty_ratio und vm.dirty_background_ratio: Bestimmen, wann Daten aus dem Page-Cache auf die Festplatte geschrieben werden.
- vm.overcommit_memory: Reguliert, wie großzügig der Kernel Speicher für Prozesse reserviert. Wert 0 → heuristisch, 1 → immer erlauben, 2 → strikt.
- vm.min_free_kbytes: Minimale freie Speicherreserve, um OOM-Killer zu vermeiden.
Praktische Empfehlungen
- Server mit viel RAM: Swappiness 10–20 für minimale Swap-Nutzung.
- RAM-leichte Systeme: Swappiness 60–80 kann verhindern, dass das System komplett aus RAM läuft.
- Container-Umgebungen: Aggressive Limits vermeiden, ggf.
vm.overcommit_memory=1prüfen.
- Page-Cache-Überwachung:
free -hoder
vmstat 1 - Swap-Prüfung:
swapon -szeigt aktive Swap-Partitionen.
Swap-Datei statt Partition nutzen
Moderne Systeme setzen häufig auf Swap-Dateien statt eigener Partitionen. Dies erlaubt flexiblere Anpassungen.
- Swap-Datei erstellen:
sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile - Swap automatisch aktivieren:
/swapfile none swap sw 0 0in /etc/fstab
Monitoring und Feintuning
Kontinuierliche Überwachung hilft, Memory-Tuning anzupassen und Probleme früh zu erkennen.
- Swap-Nutzung prüfen:
free -h - Page-Cache beobachten:
vmstat 1 - OOM-Events im Syslog prüfen:
journalctl -k | grep -i oom - Historische Auslastung:
sar -r 60 10(sysstat Paket)
Fazit
Durch Swappiness-Anpassung, gezieltes sysctl-Tuning und Monitoring lässt sich die Linux-Speicherverwaltung deutlich optimieren. Insbesondere bei Webservern, Datenbanken und Containerumgebungen kann eine bewusste Konfiguration von RAM und Swap die Performance steigern und Ausfälle vermeiden.
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.











