Der Swap Space kann eine entscheidende Rolle für deine Server-Performance und Erreichbarkeit spielen. Vor allem wenn du einen eigenen VPS oder Dedicated Server betreibst, hast du hier die volle Kontrolle. Wie du die Swap File auf einem Ubuntu 20.04 Server konfigurierst, vergrößert oder überhaupt erstellst, erkläre ich dir in diesem Guide.
Was ist Swap Space?
Der Swap Space ist eine Auslagerungsdatei, welche RAM-Intensive Prozesse auf die HDD oder SSD umleitet und somit Arbeitsspeicher auf dem System freigibt. Obwohl der Swap die Performance nicht verbessert (SWAP ist langsamer als RAM), so können Serverausfälle oder die Nichterreichbarkeit von Webseiten durch diesen verhindert werden.
Swap Space konfigurieren (Ubuntu 20.04)
Anbei eine Schritt für Schritt Anleitung, wie du den Swap Space auf deinem Ubuntu-System einrichtest.
Schritt 1: Die Swap Einstellungen prüfen
Bevor wir mit der Konfiguration beginnen, prüfen wir, ob auf dem System bereits ein Swap-Speicherplatz verfügbar ist. Es ist möglich, mehrere Auslagerungsdateien oder Auslagerungspartitionen zu erstellen, im allgemeinen Servergebrauch reicht aber eine aus.
Verbinde dich dazu via SSH mit deinem Server. Dies kannst du entweder über die Windows Eingabeaufforderung, das macOS Terminal oder aber in Plesk unter „Tools&Settings“ → SSH Terminal tun.
Mit dem folgenden Befehl prüfen wir, ob bereits Swap konfiguriert ist:
sudo swapon --show
Wenn du keine Ausgabe zurück erhältst, bedeutet dies, dass auf deinem System derzeit kein Auslagerungsspeicher verfügbar ist.
Mit dem Dienstprogramm “Free” kannst du prüfen ob kein aktiver Swap vorhanden ist:
free -h
Antwort:
total used free shared buff/cache available
Mem: 981Mi 122Mi 647Mi 0.0Ki 211Mi 714Mi
Swap: 0B 0B 0B
Im gezeigten Beispiel ist Swap mit 0B angegeben, was bedeutet, dass kein Swap Space aktiv ist.
Schritt 2: Verfügbaren Speicher auf Hard-Drive prüfen
Bevor du nun deine Swap File erstellst, musst du prüfen, ob überhaupt genug Speicherplatz auf der Festplatte deines Systems zur Verfügung steht. Gib dazu folgenden Befehl ein:
df -h
Unter dem Punkt /dev/vda1 findest du die Informationen zum belegten Speicherplatz.
Schritt 3: Swap File erstellen
Da du nun weißt, dass SWAP nicht aktiv ist und genügend Speicher auf deinem System zur Verfügung steht, kannst du mit der Erstellung der Swap File beginnen. Je nach Anwendung und Hardware solltest du die Größe individuell berechnen. Einen Beitrag dazu habe ich dir hier verfasst.
Mit dem folgenden Befehl erstellst du eine Swap File mit einer Größe von 8GB. Du kannst die Variable “8G” auch gegen einen beliebigen anderen Wert austauschen und so die Größe der Speicherdatei variieren.
sudo fallocate -l 8G /swapfile
Zur Überprüfung, ob alles geklappt hat, kannst du mit folgendem Befehl die Swapfile Informationen abrufen.
ls -lh /swapfile
Der Output müsste so aussehen:
-rw-r--r-- 1 root root 8.0G Apr 25 11:14 /swapfile
Schritt 4: Swap File aktivieren
In den vorherigen Schritten hast du die Swap File angelegt. Nun musst du diese aktivieren. Mach die Datei dabei zunächst nur für den Server Root verfügbar. Nutze dazu folgenden Befehl:
sudo chmod 600 /swapfile
Du kannst den Erfolg mit folgendem Befehl überprüfen:
ls -lh /swapfile
Der Output müsste so aussehen:
-rw------- 1 root root 1.0G Apr 25 11:14 /swapfile
Nachdem dieser Schritt abgeschlossen ist, musst du die neu konfigurierte Swap Datei mit dem System “verbinden”. Nutze dazu den folgenden Befehl:
sudo mkswap /swapfile
Der Output müsste so aussehen:
Setting up swapspace version 1, size = 8 GiB (1073737728 bytes)
no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf
Anschließend musst du den Swap Space mit folgendem Befehl aktivieren:
sudo swapon /swapfile
Den Erfolg der Einrichtung kannst du mit folgendem Befehl überprüfen:
sudo swapon --show
Der Output müsste folgender sein:
NAME TYPE SIZE USED PRIO
/swapfile file 8G 0B -2
Mit dem Befehl free –h kannst du erneut prüfen, ob nun die Swap Partition angezeigt wird.
Schritt 5: Swap File permanent festlegen
Mit all den vorherigen Schritten hast du den Swap Space erfolgreich eingerichtet. Allerdings ist dieses Setup nur bis zum nächsten Serverstart gültig. Damit der Swap permanent eingerichtet bleibt, musst du folgende Einstellungen vornehmen. Tippe dazu den folgenden Befehl ein:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Fertig! Du hast den Swap Space eingestellt und permanent verfügbar gemacht. Zum Test kannst du deinen Server neu starten und erneut über die SSH Konsole mit free -h prüfen, ob die Einstellungen noch vorhanden sind.
Schritt 6: Swappiness Level konfigurieren
Der Swappiness Wert hat großen Einfluss auf die Performance deines Servers. Empfehlungen zum Swappiness Wert findest du in meinem separaten Ratgeber. Anbei Schritt für Schritt, wie du die Swappiness Property konfigurierst.
Prüfe zunächst in der SSH Konsole den aktuellen Swappiness Wert mit folgendem Befehl:
cat /proc/sys/vm/swappiness
In der Regel ist der Output “60” da dies der vorkonfigurierte Wert ist. Dieser ist aus meiner Sicht für einen Webserver deutlich zu hoch. Generell rate ich einem Wert zwischen 10 und 30 für Hosting Server. Einen ausführlichen Artikel zum Thema findest du hier…
Mit dem folgenden Befehl setzt du den Swappiness Wert auf 10 – die Einstellung gilt bis zum nächsten Neustart des Systems.
sudo sysctl vm.swappiness=10
Der Output müsste wie folgt lauten:
vm.swappiness = 10
Um die Einstellung permanent auf dem Server zu hinterlegen, musst du in der sysctl.conf weitere Einstellungen hinzufügen.
Öffne dazu am besten dein FTP Programm wie Cyberduck und verbinde dich mit deinem Server.
- Navigiere zu /etc und lade die Datei sysctl.conf herunter.
- Öffne diese nun mit einem Texteditor und füge am Ende der Datei folgende Konfiguration hinzu:
vm.swappiness=10
Speichere die Datei ab und lade sie auf deinen Server. Überschreibe dabei die alte Datei. Der Swappiness Wert sollte nun dauerhaft auf einen Wert von 10 gesetzt sein.
Fazit Swap Konfiguration auf Server
Mit dieser Anleitung zur Einrichtung des Swap Space auf deinem System sollte es kein ein Kinderspiel sein, Problemen mit unzureichendem Arbeitsspeicher aus dem Weg zu gehen.
Wenn OOM-Fehler (nicht genügend Arbeitsspeicher) auftreten oder du feststellst, dass Anwendungen deinen RAM füllen, besteht die beste Lösung darin, den Swap Space korrekt einzurichten und so dem Server mehr Luft zum Atmen zu verschaffen.
Hast du noch Fragen rund um den Swap Space auf Linux Systemen? Hinterlasse einen Kommentar oder schreibe mich auf der Kontaktseite an. Gerne bin ich dir auch danei behilflich, den Swap Space ideal auf dein System abzustimmen.