Der Swap (Auslagerungsbereich) ist ein auf der Festplatte reservierter Bereich, den Linux zur Ergänzung des physischen Arbeitsspeichers (RAM) nutzt. Wenn der RAM voll ist, schreibt der Kernel selten genutzte Speicherblöcke in den Swap, und der dadurch freigewordene Speicher wird den gerade aktiven Programmen zugewiesen. Werden die ausgelagerten Daten später erneut benötigt, liest der Kernel sie wieder in den Arbeitsspeicher ein.
Der Swap-Speicher ist Teil der virtuellen Speicherverwaltung: Programme wissen nicht, dass sich ein Teil ihrer Daten gerade auf der Festplatte befindet. Dies geht zu Lasten der Geschwindigkeit, da die Festplatte – selbst eine schnelle NVMe-SSD – um ein Vielfaches langsamer ist als der Arbeitsspeicher (RAM).
Wofür eignet es sich und wofür nicht?
Der Swap-Speicher dient in erster Linie als Sicherheitsreserve. Wenn auf einem Server vorübergehend der Arbeitsspeicher knapp wird (beispielsweise während einer Zugriffsspitze oder bei einer umfangreichen Datensicherung), würde der OOM-Killer des Kernels ohne Swap-Speicher sofort einen Prozess beenden – häufig gerade die Datenbank. Mit Swap-Speicher verlangsamt sich das System zwar, kann die Zugriffsspitze jedoch überstehen. Der Kernel kann auch lange Zeit ungenutzte Speicherbereiche auf den Swap-Speicher auslagern (beispielsweise die Daten eines Dienstes, der beim Systemstart geladen wurde, seitdem aber inaktiv ist), selbst wenn noch freier RAM verfügbar ist, sodass mehr Speicher für den Dateicache zur Verfügung steht.
Der Swap-Speicher ist jedoch kein Ersatz für den Arbeitsspeicher (RAM). Wenn das System ständig auf den Swap-Speicher schreibt und von dort liest, verlängern sich die Antwortzeiten erheblich. Dies ist ein Anzeichen dafür, dass der Server mehr Arbeitsspeicher benötigt.
Swap-Partition oder Swap-Datei
- Swap-Partition: Eine separate Partition auf der Festplatte, die in der Regel bei der Installation angelegt wird.
- Auslagerungsdatei: eine gewöhnliche Datei im Dateisystem. Sie lässt sich auch nachträglich problemlos erstellen, in der Größe anpassen oder löschen, weshalb dies auf einem VPS meist die praktischere Lösung ist.
Beide sind hinsichtlich ihrer Leistung auf modernen Kerneln praktisch gleichwertig. Die Erstellung einer Auslagerungsdatei wird Schritt für Schritt in unserem Artikel über den OOM-Killer und die Auslagerungsdatei beschrieben.
Überprüfung des Swap-Speichers
free -h # memória és swap: összes, használt, szabad
swapon --show # a bekapcsolt swap területek és méretük
vmstat 1 5 # az si és so oszlop a másodpercenként be- és kilapozott adat
An sich ist es kein Problem, wenn in der Ausgabe von „free -h“ ein gewisser Anteil des Swaps belegt ist: Dabei kann es sich um Seiten handeln, die schon lange nicht mehr genutzt wurden. Ein Warnsignal ist es jedoch, wenn in den Spalten „vmstat“ und „si“ so des Befehls „vmstat“ dauerhaft von Null abweichende Werte angezeigt werden, d. h., das System führt kontinuierlich Seitenwechsel durch.
Die Swappiness-Einstellung
Der Parameter „vm.swappiness“ (0–200, in den meisten Distributionen standardmäßig 60) steuert, wie bereitwillig der Kernel auf Auslagerung zurückgreift, anstatt den Dateicache zu leeren. Der aktuelle Wert wird durch den Befehl „cat /proc/sys/vm/swappiness“ angezeigt. Auf den Testmaschinen liefen Ubuntu 24.04 und Debian 12 mit dem werkseitigen Wert 60, AlmaLinux 9 und 10 hingegen mit 30: Dies wird auf virtuellen Maschinen durch das „virtual-guest“-Profil des Dienstes „tuned“ festgelegt (tuned-adm active). Auf Datenbankservern wird häufig ein niedrigerer Wert (beispielsweise 10) eingestellt, damit der Kernel nur im absoluten Notfall auf den Swap zurückgreift.
Wie viel Swap-Speicher wird benötigt?
Es gibt keine allgemeingültige Regel. Bei VPS mit geringem Arbeitsspeicher (1–4 GB RAM) ist eine Swap-Größe, die der RAM-Größe entspricht, ein guter Ausgangspunkt; bei Servern mit größerem Arbeitsspeicher reichen in der Regel bereits einige Gigabyte als Reserve aus. Sollte der Swap-Speicher regelmäßig voll werden, erhöhen Sie nicht den Swap-Speicher, sondern den Arbeitsspeicher: Die Ressourcen der KVM-VPS-Pakete lassen sich auch nachträglich erweitern. Weitere praktische Tipps finden Sie in unserem Blogbeitrag zum Thema Swap-Datei.