Tutorials  /  Linux Basics

So fügen Sie Swap-Speicher auf Rocky Linux 9 hinzu: Anleitung

Ccentron Redaktion · Dezember 2024 ·10 Min. Lesezeit ·Linux Basics, Tutorial

Was ist Swap?

Swap ist ein Teil des Festplattenspeichers, der vom Betriebssystem reserviert wurde, um Daten vorübergehend zu speichern, die nicht mehr im RAM gehalten werden können. Dadurch können Sie die Menge an Informationen erhöhen, die Ihr Server im Arbeitsspeicher behalten kann, allerdings mit einigen Einschränkungen. Der Swap-Bereich auf der Festplatte wird hauptsächlich genutzt, wenn im RAM nicht mehr genug Platz für aktive Anwendungsdaten vorhanden ist.

Die auf die Festplatte geschriebenen Informationen sind erheblich langsamer als die im RAM gespeicherten Informationen, aber das Betriebssystem wird bevorzugen, aktive Anwendungsdaten im Speicher zu halten und Swap für ältere Daten zu verwenden. Insgesamt kann ein Swap-Bereich als Sicherheitsnetz gegen Speicherfehler nützlich sein, wenn der RAM des Systems erschöpft ist, insbesondere auf Systemen ohne SSD-Speicher.

VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Schritt 1 – Überprüfung des Systems auf Swap-Informationen

Bevor wir beginnen, können wir überprüfen, ob das System bereits einen Swap-Bereich hat. Es ist möglich, mehrere Swap-Dateien oder Swap-Partitionen zu haben, aber im Allgemeinen sollte eine ausreichen.

Wir können prüfen, ob das System Swap konfiguriert hat, indem wir eingeben:

Konsole
sudo swapon --show

Wenn keine Ausgabe zurückgegeben wird, bedeutet dies, dass Ihr System derzeit keinen Swap-Bereich hat.

Sie können auch überprüfen, dass kein aktiver Swap vorhanden ist, indem Sie das Free-Dienstprogramm verwenden:

Code
free -h

Ausgabe:

Code
               total        used        free      shared  buff/cache   available
Mem:           1.7Gi       173Mi       1.2Gi       9.0Mi       336Mi       1.4Gi
Swap:             0B          0B          0B

Wie Sie in der Swap-Zeile der Ausgabe sehen können, ist kein Swap auf dem System aktiv.

Schritt 2 – Überprüfung des verfügbaren Speicherplatzes auf der Festplattenpartition

Bevor wir unsere Swap-Datei erstellen, überprüfen wir die aktuelle Speichernutzung, um sicherzustellen, dass wir genügend Platz haben. Geben Sie dazu Folgendes ein:

Code
df -h

Ausgabe:

Code
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        855M     0  855M   0% /dev
tmpfs           888M     0  888M   0% /dev/shm
tmpfs           355M  9.4M  346M   3% /run
/dev/vda1        59G  1.4G   58G   3% /
/dev/vda2       994M  155M  840M  16% /boot
/dev/vda15      100M  7.0M   93M   7% /boot/efi
tmpfs           178M     0  178M   0% /run/user/0

Das Gerät mit / in der Spalte Mounted on ist in diesem Fall unsere Festplatte. Wir haben in diesem Beispiel viel Platz zur Verfügung (nur 1,4G belegt). Ihre Nutzung wird wahrscheinlich unterschiedlich sein.

Obwohl es viele Meinungen über die geeignete Größe eines Swap-Bereichs gibt, hängt es wirklich von Ihren persönlichen Vorlieben und Ihren Anwendungsanforderungen ab. Im Allgemeinen ist eine Menge, die der RAM-Größe Ihres Systems entspricht oder diese verdoppelt, ein guter Ausgangspunkt. Eine weitere Faustregel ist, dass alles über 4G Swap wahrscheinlich unnötig ist, wenn Sie es nur als RAM-Backup verwenden.

Schritt 3 – Erstellen einer Swap-Datei

Jetzt, da wir unseren verfügbaren Festplattenspeicher kennen, können wir eine Swap-Datei im Dateisystem erstellen. Wir werden eine Datei mit der gewünschten Größe namens swapfile im Stammverzeichnis (/) anlegen.

Der beste Weg, eine Swap-Datei zu erstellen, ist mit dem Programm fallocate. Dieser Befehl erstellt sofort eine Datei der angegebenen Größe.

Da der Server in unserem Beispiel 2G RAM hat, erstellen wir in diesem Leitfaden eine 2G-Datei. Passen Sie dies an die Anforderungen Ihres eigenen Servers an:

Konsole
sudo fallocate -l 1G /swapfile

Wir können überprüfen, ob der richtige Speicherplatz reserviert wurde, indem wir Folgendes eingeben:

Code
ls -lh /swapfile

Ausgabe:

Code
-rw-r--r--. 1 root root 2.0G Sep 13 17:52 /swapfile

Unsere Datei wurde mit der richtigen Menge an reserviertem Speicherplatz erstellt.

Schritt 4 – Aktivieren der Swap-Datei

Jetzt, da wir eine Datei mit der richtigen Größe zur Verfügung haben, müssen wir sie tatsächlich in Swap-Speicher umwandeln.

Zuerst müssen wir die Berechtigungen der Datei sperren, sodass nur Benutzer mit Root-Berechtigungen auf den Inhalt zugreifen können. Dies verhindert, dass normale Benutzer auf die Datei zugreifen können, was erhebliche Sicherheitsprobleme mit sich bringen würde.

Machen Sie die Datei nur für Root zugänglich, indem Sie Folgendes eingeben:

Konsole
sudo chmod 600 /swapfile

Überprüfen Sie die Änderung der Berechtigungen, indem Sie Folgendes eingeben:

Code
ls -lh /swapfile

Ausgabe:

Code
-rw------- 1 root root 2.0G Sep 13 17:52 /swapfile

Wie Sie sehen können, hat nur der Root-Benutzer die Lese- und Schreibrechte aktiviert.

Jetzt können wir die Datei als Swap-Bereich markieren, indem wir Folgendes eingeben:

Konsole
sudo mkswap /swapfile

Ausgabe:

Code
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=585e8b33-30fa-481f-af61-37b13326545b

Nachdem die Datei markiert wurde, können wir die Swap-Datei aktivieren, sodass unser System sie verwenden kann:

Konsole
sudo swapon /swapfile

Überprüfen Sie, ob der Swap verfügbar ist, indem Sie Folgendes eingeben:

Konsole
sudo swapon --show

Ausgabe:

Code
NAME      TYPE  SIZE USED PRIO
/swapfile file 2G   0B   -2

Wir können die Ausgabe des Free-Dienstprogramms erneut überprüfen, um unsere Ergebnisse zu bestätigen:

Code
free -h

Ausgabe:

Code
               total        used        free      shared  buff/cache   available
Mem:           1.7Gi       172Mi       1.2Gi       9.0Mi       338Mi       1.4Gi
Swap:          2.0Gi          0B       2.0Gi

Unser Swap wurde erfolgreich eingerichtet, und unser Betriebssystem wird ihn bei Bedarf verwenden.

Schritt 5 – Die Swap-Datei dauerhaft machen

Unsere jüngsten Änderungen haben die Swap-Datei für die aktuelle Sitzung aktiviert. Beim Neustart wird der Server die Swap-Einstellungen jedoch nicht automatisch beibehalten. Wir können dies ändern, indem wir die Swap-Datei in die Datei /etc/fstab einfügen.

Sichern Sie die Datei /etc/fstab für den Fall, dass etwas schiefgeht:

Konsole
sudo cp /etc/fstab /etc/fstab.bak

Fügen Sie die Swap-Dateiinformationen am Ende der Datei /etc/fstab hinzu, indem Sie Folgendes eingeben:

Konsole
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Als Nächstes überprüfen wir einige Einstellungen, die wir anpassen können, um unseren Swap-Bereich zu optimieren.

Schritt 6 – Feinabstimmung der Swap-Einstellungen

Anpassung der Swappiness-Eigenschaft

Der Swappiness-Parameter legt fest, wie oft Ihr System Daten aus dem RAM in den Swap-Bereich verschiebt. Dies ist ein Wert zwischen 0 und 100, der einen Prozentsatz darstellt.

Mit Werten nahe null wird der Kernel keine Daten auf die Festplatte verschieben, es sei denn, dies ist absolut notwendig. Interaktionen mit der Swap-Datei sind „teuer“, da sie wesentlich länger dauern als Interaktionen mit dem RAM und eine erhebliche Leistungsreduzierung verursachen können. Wenn das System angewiesen wird, den Swap nur selten zu verwenden, wird Ihr System in der Regel schneller.

Werte näher an 100 versuchen, mehr Daten in den Swap zu legen, um mehr RAM-Speicherplatz freizuhalten. Abhängig von den Speicheranforderungen Ihrer Anwendungen oder dem Verwendungszweck Ihres Servers könnte dies in einigen Fällen besser sein.

Sie können den aktuellen Swappiness-Wert anzeigen, indem Sie Folgendes eingeben:

Code
cat /proc/sys/vm/swappiness

Ausgabe:

Code
60

Für einen Desktop ist ein Swappiness-Wert von 60 nicht schlecht. Für einen Server möchten Sie ihn möglicherweise näher an 0 verschieben.

Sie können den Swappiness-Wert mithilfe des Befehls sysctl auf einen anderen Wert setzen. Um beispielsweise den Swappiness-Wert auf 10 zu setzen, geben Sie Folgendes ein:

Konsole
sudo sysctl vm.swappiness=10

Ausgabe:

Code
vm.swappiness = 10

Diese Einstellung bleibt bis zum nächsten Neustart aktiv. Sie können diesen Wert automatisch beim Neustart setzen, indem Sie die Zeile in die Datei /etc/sysctl.conf einfügen.

Um die Datei zu bearbeiten, verwenden Sie einen Texteditor wie nano. Wenn nano nicht installiert ist, können Sie es mit dem folgenden Befehl hinzufügen:

Konsole
sudo dnf install nano

Bearbeiten Sie dann die Datei /etc/sysctl.conf:

Konsole
sudo nano /etc/sysctl.conf

Fügen Sie am Ende der Datei die folgende Zeile hinzu:

Code
vm.swappiness=10

Speichern und schließen Sie die Datei.

Anpassung der Cache-Pressure-Einstellung

Ein weiterer verwandter Wert, den Sie ändern können, ist vfs_cache_pressure. Diese Einstellung legt fest, wie stark das System Informationen über Inodes und Dentrys im Cache speichert oder diese Daten durch andere Daten ersetzt.

Diese Informationen sind oft angefordert und kostenintensiv abzurufen, sodass es von Vorteil ist, sie im Cache zu behalten. Sie können den aktuellen Wert anzeigen, indem Sie Folgendes eingeben:

Code
cat /proc/sys/vm/vfs_cache_pressure

Ausgabe:

Code
100

Standardmäßig entfernt unser System Inode-Informationen zu schnell aus dem Cache. Sie können diesen Wert auf einen konservativeren Wert wie 50 setzen, indem Sie Folgendes eingeben:

Konsole
sudo sysctl vm.vfs_cache_pressure=50

Ausgabe:

Code
vm.vfs_cache_pressure = 50

Wie zuvor bleibt diese Einstellung nur bis zum nächsten Neustart aktiv. Sie können sie dauerhaft machen, indem Sie sie in die Datei /etc/sysctl.conf einfügen:

Konsole
sudo nano /etc/sysctl.conf

Fügen Sie am Ende der Datei die folgende Zeile hinzu:

Code
vm.vfs_cache_pressure=50

Speichern und schließen Sie die Datei, um die Änderungen zu übernehmen.

Abschluss

Wenn Sie den Anweisungen in diesem Leitfaden folgen, können Sie Ihren Server vor speicherbezogenen Problemen schützen. Ein Swap-Bereich ist eine hilfreiche Ergänzung, insbesondere bei Arbeitsspeichermangel.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren