Zurück zum Blog

Hinzufügen von Swap-Speicher unter Ubuntu 20.04: Ein Tutorial

Hinzufügen von Swap-Speicher unter Ubuntu 20.04: Ein Tutorial

Das Hinzufügen von Swap-Speicher zu Ihrem Server ist eine hervorragende Option, um Out-of-Memory-Fehler auszugleichen. Linux ermöglicht es Benutzern, Swap-Speicher in ihrem System hinzuzufügen, wenn der RAM-Speicher des Systems voll ist. Wenn Sie eine dedizierte Speicherpartition erstellen, ermöglichen Sie Ihrem physischen Speicher einen reibungslosen Betrieb, ohne sich große Sorgen über geringen Festplattenspeicher machen zu müssen.

Swap-Übersicht

Swap-Speicher in Linux ist ein Teil des virtuellen Speichers einer Maschine, der verwendet wird, wenn der physische Speicher voll ist. Insbesondere bei der Arbeit mit einem großen Programm oder einer Anwendung, bei der zusätzlicher Speicher benötigt wird, ist Swap-Speicher eine ideale Wahl, um vorübergehend inaktive Speicherseiten aufzunehmen. Das Erstellen eines Swap-Speichers ermöglicht es Benutzern, Daten zu speichern, wenn große Programme ausgeführt werden, und reduziert so Anwendungsabstürze. Das bedeutet: Wenn das System mehr Speicherressourcen benötigt und der RAM voll ist, werden alle inaktiven Seiten im Speicher in den Swap-Speicher verschoben und die Programme können ohne Unterbrechung ausgeführt werden.

Wie viel Swap-Speicher benötige ich?

Die Menge an Swap-Speicher hängt von mehreren Faktoren ab. Dazu gehören der verfügbare RAM, die Auslastung und die Frage, ob das System die Ruhezustandsfunktion (Suspend-to-Disk) unterstützen muss. In der folgenden Tabelle finden Sie den empfohlenen Swap-Speicher basierend auf dem im RAM verfügbaren Speicherplatz:

Lfd. Nr.

Verfügbarer RAM-Speicher

Empfohlener Swap-Speicher

1.

1GB

1GB

2.

2GB

1GB

3.

3GB

2GB

4.

4GB

2GB

5.

5GB

2GB

6.

6GB

2GB

7.

8GB

3GB

In diesem Tutorial werden wir Sie Schritt für Schritt durch das Hinzufügen von Swap-Speicher unter Ubuntu 20.04 führen. Fangen wir an!

Voraussetzungen

Um diesem Tutorial folgen zu können, benötigen Sie:

Schritt 1: Überprüfung der Swap-Informationen

Die Größe des Swap-Speichers hängt vom RAM des Systems ab. Daher ist es wichtig, die Verfügbarkeit von Swap-Speicher in Ihrem System zu überprüfen, bevor Sie einen erstellen. Geben Sie den folgenden Befehl ein, um zu prüfen, ob das System über einen konfigurierten Swap verfügt:

Swap Space image 1

Eine angezeigte Ausgabe bedeutet, dass in Ihrem System Speicherplatz zum Erstellen von Swap-Speicher vorhanden ist. Keine Ausgabe ist jedoch ein Signal dafür, dass nicht genügend Speicherplatz vorhanden ist, um Swap-Speicher hinzuzufügen.

Verwenden Sie das Dienstprogramm free, um zu überprüfen, dass kein aktiver Swap vorhanden ist:

Sie sehen die Ausgabe als eine leere Swap-Zeile:

Swap Space image 2

Schritt 2: Überprüfung der Verfügbarkeit von Festplattenpartitionen

Ähnlich wie bei der Überprüfung der Systemverfügbarkeit prüfen wir nun unsere aktuelle Festplattennutzung, um sicherzustellen, dass wir genügend Speicherplatz haben. Verwenden Sie den Befehl df, um die Verfügbarkeit der Festplattenpartition zu prüfen:

Das Gerät mit / in der Spalte Mounted on ist unsere Festplatte, die 11% frei ist. Sie sehen die Ausgabe:

Swap Space image 3

Nachdem wir die Systemanforderungen überprüft haben, fahren wir fort und erstellen eine Swap-Datei auf unserem Dateisystem.

Schritt 3: Erstellen einer Swap-Datei

Um eine Swap-Datei auf unserem Dateisystem zu erstellen, weisen Sie einen Dateinamen als swapfile im Root-Verzeichnis (/) mithilfe des Programms fallocate zu. Die Zuweisung einer Dateigröße hängt von Ihren Anforderungen ab. Um das Tutorial einfach und leicht verständlich zu halten, erstellen wir eine Datei mit 1G und widmen ihr 1G RAM. Verwenden Sie den sudo -Befehl, um eine Swap-Datei zu erstellen:

Geben Sie als Nächstes diesen Befehl ein, um den reservierten Speicherplatz zu überprüfen:

Sie sehen die Ausgabe:Swap Space image 3

Nachdem wir nun einen Swap-Speicher in unserem System erstellt haben, aktivieren wir ihn im nächsten Schritt.

Schritt 4: Aktivieren der Swap-Datei

Sobald uns die richtige Größe zur Verfügung steht, konvertieren wir sie in Swap-Speicher. Aus Sicherheitsgründen ist es wichtig, dass unsere Datei für Root-Benutzer zugänglich ist und der Zugriff für normale Benutzer verhindert wird. Wir fügen Einschränkungen hinzu, sodass nur Benutzer mit root-Rechten die Datei anzeigen und ihren Inhalt lesen können. Verwenden Sie den folgenden root-Befehl, um die Datei nur für root-Benutzer zugänglich zu machen:

Verwenden Sie dann den Befehl ls, um die Änderungen zu überprüfen:

Wie Sie sehen können, hat nur der root-Benutzer die Lese- und Schreibberechtigungen aktiviert:

Swap Space image 4

Markieren Sie die Datei danach als Swap-Speicher:

Sie sehen die Ausgabe:

Swap Space image 5

Aktivieren Sie danach die Swap-Datei und erlauben Sie unserem System, sie zu verwenden:

Überprüfen Sie als Nächstes die Verfügbarkeit des Swaps:

Sie sehen die Ausgabe:

Swap Space image 6

Wie in Schritt 1, werden wir den Speicherplatz des free-Dienstprogramms noch einmal überprüfen:

Sie sehen die Ausgabe:

Swap Space image 7

Unser Swap wurde erfolgreich eingerichtet und unser Betriebssystem wird beginnen, ihn bei Bedarf zu verwenden. Im nächsten Schritt werden wir die Swap-Datei dauerhaft machen.

Schritt 5: Die Swap-Datei dauerhaft machen

Standardmäßig behält der Server die Swap-Einstellungen nach einem Neustart nicht automatisch bei. Um die Standardeinstellungen zu ändern und auf Nummer sicher zu gehen, fügen wir die Swap-Datei zu unserer /etc/fstab-Datei hinzu. Verwenden Sie den sudo-Befehl, um ein Backup der /etc/fstab-Datei zu erstellen:

Fügen Sie als Nächstes die Informationen zur Swap-Datei am Ende Ihrer /etc/fstab-Datei hinzu, indem Sie Folgendes eingeben:

Lassen Sie uns danach einige Einstellungen überprüfen und Änderungen vornehmen, um unseren Swap-Speicherplatz zu optimieren.

Schritt 6: Änderung der Swap-Einstellungen

In diesem Schritt werden wir die Einstellungen konfigurieren und einige Änderungen vornehmen. Lassen Sie uns die Eigenschaft „swappiness“ anpassen und den Cache-Druck ändern.

  • Die Swappiness-Eigenschaft anpassen

Der Parameter swappiness ist ein anpassbarer Kernel-Parameter. Er ändert das Gleichgewicht zwischen dem Auslagern von Laufzeitspeicher und berücksichtigt den Datenaustausch beim Auslagern von Daten aus dem RAM in den Swap-Speicher. Dieser Parameterwert wird in Prozent ausgedrückt und reicht von 0 bis 100.

Der Wert vm.swappiness hat einen direkten Einfluss auf das Verhalten der System-Swappiness. Je höher der Wert vm.swappiness ist, desto mehr wird das System auslagern und umgekehrt. Wenn der Wert nahe Null liegt, lagert der Kernel keine Daten aus, was zu einer Leistungsminderung führen kann. Dem System zu erlauben, nicht zu sehr vom Swap abhängig zu sein, ist eine hervorragende Möglichkeit, seine Leistung zu steigern und eine robuste Reaktionsfähigkeit zu erzielen.

Alternativ versucht ein Wert für vm.swappiness, der näher bei 100 liegt, mehr Daten in den Swap und weniger in den physischen Speicher zu verlagern. Im Gegensatz zu einem niedrigen bis mittelmäßigen Wert für vm.swappiness, hat ein starkes System-Swapping sehr unerwünschte Auswirkungen, wenn große Datenmengen aktiv in den und aus dem RAM ausgelagert werden.

Überprüfen Sie den aktuellen Swappiness-Wert, indem Sie Folgendes eingeben:

Sie sehen die Ausgabe:

Swap Space image 8

Sie können die Swappiness Ihrer Wahl auch mit dem Befehl sysctl einstellen. Lassen Sie uns den Swappiness-Wert auf 15 festlegen, indem Sie Folgendes eingeben:

Sie sehen die Ausgabe:

output

Bis das System neu gestartet wird, bleiben die Einstellungen unverändert. Fügen Sie die Zeile zu unserer /etc/sysctl.conf Datei hinzu, um den Wert beim Neustart automatisch festzulegen:

Sie können den folgenden Code ganz unten hinzufügen:

code

Speichern und schließen Sie die Datei anschließend.

  • Den Cache-Druck anpassen

Als Nächstes werden wir vfs_cache_pressure ändern, was sich um inode und dentry-Informationen gegenüber anderen Daten kümmert. Diese vfs_cache_pressure-Einstellungen steuern auch die Tendenz des Kernels, den für das Caching des Verzeichnisses verwendeten Speicher zurückzufordern. Navigieren Sie erneut im proc-Dateisystem, um den aktuellen Wert zu überprüfen:

Sie sehen die Ausgabe:

output 2

Da die Konfiguration bereits abgeschlossen ist, wird unser System die Inode-Informationen aus dem Cache entfernen. Lassen Sie uns sysctl vm.vfs_cache_pressure auf eine stabilere Einstellung wie diese festlegen:

Sie sehen die Ausgabe:

Swap Space image 9

Ähnlich wie bei unserer Swappiness-Einstellung können wir die Konfiguration auch hier ändern:

Fügen Sie unten eine Zeile ein, die den neu erstellten Wert angibt:

Swap Space image 10

Speichern und schließen Sie die Datei schließlich.

Fazit

Sie können Swap-Speicher als dedizierte Swap-Partition, als Swap-Datei oder als eine Kombination aus beidem hinzufügen. Sie können Swap-Speicher erstellen und dessen Vorteile nutzen, um Anwendungen nahtlos auszuführen, ohne sich allzu viele Sorgen über Warnungen wegen unzureichendem Arbeitsspeicher machen zu müssen. Obwohl das Erstellen von Swap-Speicher in Systemen mit begrenztem Speicherplatz ein zusätzlicher Vorteil ist, darf es nicht als Alternative für mehr RAM-Speicher betrachtet werden. Denken Sie daran, dass sich der Swap-Speicher auf einer Festplatte befindet, weshalb Sie im Vergleich zum physischen Speicher eine etwas langsamere Zugriffszeit feststellen können.

Hier finden Sie weitere Tutorials auf unserem Blog, die Ihnen den Einstieg mit Ihren Ubuntu-Servern erleichtern:

Viel Spaß beim Computing!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev ist ein kreativer Designer bei CloudSigma und konzentriert sich auf eine konsistente Unternehmensidentität durch traditionelle und innovative Marketingkanäle. Er versteht es meisterhaft, künstlerische Vision mit strategischem Marketing zu verbinden, um wirkungsvolle Markengeschichten zu schaffen.

Kommentare

Noch keine Kommentare. Schreiben Sie den ersten.