So ändern Sie die Swap-Größe in Ubuntu

In dieser Anleitung zeigen wir Ihnen, wie Sie die Swap-Größe in Ubuntu 22.04 ändern.

Voraussetzungen:

Um die Schritte in dieser Anleitung auszuführen, benötigen Sie die folgenden Komponenten:

  • Ein ordnungsgemäß konfiguriertes Ubuntu-System. Zum Testen können Sie Ubuntu mit VirtualBox auf einer virtuellen Maschine installieren.
  • Zugriff auf einen Nicht-Root-Benutzer, der die Sudo-Befehle ausführen kann.

Swap-Datei unter Linux

Der Arbeitsspeicher der Maschine wird vom Linux-Kernel in sogenannte „Seiten“ unterteilt. Immer wenn eine Seite in einen vorkonfigurierten Bereich auf den sekundären Speichergeräten (in den meisten Fällen Festplatte oder SSD) kopiert wird, spricht man von „Auslagern“. Der vorkonfigurierte dedizierte Speicherplatz wird als „Swap Space“ bezeichnet.

Die Gesamtmenge an physischem Speicher (RAM) und Auslagerungsspeicher wird als „virtueller“ Speicher bezeichnet.

Ist ein Austausch notwendig?

Es gibt mehrere Gründe, warum ein Austausch erforderlich ist:

  • Wenn mehr Speicher benötigt wird, als physisch verfügbar ist, wird durch den Austausch weniger wichtiger Seiten mehr Speicher für den Prozess freigegeben, der mehr Speicher benötigt.
  • Ein großer Teil der Seiten, die beim Start eines Programms verwendet werden, wird möglicherweise nur sehr wenig genutzt. Durch den Austausch dieser Seiten kann mehr Speicher für andere Apps frei werden.
  • Wenn kein Swap-Speicherplatz zugewiesen ist und der RAM-Speicherplatz vollständig belegt ist, kann dies zum Absturz des Systems führen, insbesondere bei Systemen mit wenig RAM-Speicherplatz.

Allerdings bringt der Tausch auch seine eigenen Nachteile mit sich:

  • Sekundärspeicher (Festplatten, SSDs usw.) sind im Vergleich zum RAM extrem langsam. Um es ins rechte Licht zu rücken: RAM-Zugriffsgeschwindigkeiten werden in Nanosekunden gemessen, während die Festplattenzugriffsgeschwindigkeiten in Millisekunden gemessen werden.
  • Aufgrund der unterschiedlichen Lese-/Schreibgeschwindigkeiten ist der Austausch ein sehr langsamer Vorgang. Wenn viel ausgetauscht wird, verlangsamt dies letztendlich das System.

Arten von Swap Spaces

Unter Linux werden Sie auf zwei Arten von Swap Spaces stoßen:

  • Eine dedizierte Swap-Partition – Dort können keine anderen Dateien gespeichert werden.
  • Auslagerungsdateien – Diese Dateien können sich an einer beliebigen Stelle im Dateisystem befinden.

Abhängig vom verfügbaren RAM-Speicherplatz kann die Größe des Swap-Speicherplatzes variieren. Hier ein paar Beispiele:

Datei in Ubuntu austauschen

Ubuntu verwendet im Allgemeinen eine dedizierte Swap-Partition zum Auslagern. Oftmals wird diese Partition während der Installation erstellt. Wir können die Auslagerungsdateien jedoch nach Belieben erstellen und anpassen.

Auflistung der Swap Spaces

Der folgende Befehl zeigt alle aktuell konfigurierten Swap Spaces an:

$ tauschen

Die Liste enthält alle Swap Spaces, sowohl Partitionen als auch Swap-Dateien.

Auslagerungsdateien erstellen

Ein wesentlicher Vorteil von Auslagerungsdateien gegenüber der Auslagerungspartition besteht darin, dass die Dateigröße leicht geändert werden kann und somit die Menge des Auslagerungsspeichers geändert werden kann, ohne die Festplattenpartitionen zu beeinträchtigen. In diesem Abschnitt erstellen wir eine neue Auslagerungsdatei und fügen sie dem aktuellen Auslagerungspool hinzu.

Erstellen Sie zunächst eine leere Datei mit dem folgenden Befehl:

$ sudo dd if=/dev/zero of=/new_swap bs=1M count=2048

Hier:

  • Die Dateigröße wird als 1M x 2048 = 2G berechnet.
  • Um eine Datei mit einer anderen Größe zu erstellen, ändern Sie den Wert des Arguments count entsprechend.
  • /dev/zero ist ein spezielles Blockgerät im Linux-System, das bei jedem Lesen null Bytes ausgibt.
  • Während wir zum Erstellen der Datei auch andere Tools wie Fallocate verwenden können, kann dies in manchen Situationen zu Problemen führen. Es wird hier ausführlicher besprochen AskUbuntu-Beitrag.

Als nächstes müssen wir die richtigen Dateiberechtigungen mit dem folgenden Befehl festlegen:

$ sudo chmod 600 /new_swap

Jetzt müssen wir die Datei mit dem folgenden Befehl als Swap formatieren:

$ sudo mkswap /new_swap

Schließlich können wir die Datei zum Swap-Pool hinzufügen.

$ sudo swapon /new_swap

Wenn die Aktion erfolgreich ist, sollte die neue Auslagerungsdatei in der Liste der Auslagerungsbereiche erscheinen.

$ tauschen

Beachten Sie, dass diese Aktion nur vorübergehend ist. Nach dem Neustart wird die Auslagerungsdatei nicht mehr verwendet. Um eine dauerhafte Änderung vorzunehmen, müssen wir die Tabelle /etc/fstab mit dem folgenden Eintrag aktualisieren:

$ /new_swap swap swap defaults 0 0

Überprüfen des freien Swap-Speicherplatzes

Der folgende Befehl gibt sowohl die Speicher- als auch die Swap-Nutzung aus:

$ sudo free -h

Löschen der Auslagerungsdatei

Um eine Auslagerungsdatei zu löschen, müssen wir zunächst sicherstellen, dass sie nicht verwendet wird. Der folgende Befehl deaktiviert eine Auslagerungsdatei:

$ sudo swapoff -v /

Überprüfen Sie die Liste der aktiven Swap Spaces, um die Änderung zu bestätigen.

$ tauschen

Wenn die Auslagerungsdatei in deklariert ist /etc/fstab, müssen Sie den Eintrag ebenfalls entfernen. Jetzt kann die Auslagerungsdatei sicher gelöscht werden. Löschen Sie es mit dem folgenden Befehl:

$ sudo rm /

Ändern der Swap-Größe

Abhängig vom Typ des Auslagerungsbereichs (Partition oder Datei) kann der Vorgang zum Ändern der Auslagerungsgröße unterschiedlich sein.

Ändern der Größe der Swap-Partition

Eine Partition kann nur erweitert werden, wenn unmittelbar danach nicht zugewiesene Speicherplätze vorhanden sind. Andernfalls besteht die einzige andere Möglichkeit zur Größenänderung darin, die Partition zu verkleinern. Dies gilt auch für die Swap-Partition.

Wenn Sie den GNOME-Desktop verwenden, kann die App „Festplatten“ einen Einblick in die Situation bieten.

Alternativ können wir verwenden GParted um es zu visualisieren.

Wie Sie sehen können, befindet sich die Swap-Partition in diesem System direkt neben der Root-Partition. Dadurch bleibt kein Platz für eine Erweiterung der Swap-Partition.

Es können jedoch Verkleinerungs- und Neuformatierungsvorgänge durchgeführt werden. Erfahren Sie mehr über die Verwaltung von Partitionen mit fdisk oder GParted. Der Befehl resize2fs wird auch benötigt, um die Größe des vorhandenen Dateisystems entsprechend der geänderten Partition zu ändern.

Ändern der Größe der Auslagerungsdatei

Um eine Auslagerungsdatei zu manipulieren, müssen wir sie zunächst aus dem Auslagerungspool entfernen. Führen Sie den folgenden Befehl aus:

$ sudo swapoff /new_swap

Führen Sie nun den Befehl dd erneut aus, um die Dateigröße zu erhöhen:

$ sudo dd if=/dev/zero of=/new_swap bs=1G count=2 oflag=append conv=notrunc

Hier haben wir der Auslagerungsdatei 2 GB mehr Speicherplatz hinzugefügt. Als nächstes formatieren wir die Datei mit dem folgenden Befehl als Swap neu:

$ sudo mkswap /new_swap

Schließlich können wir den Austausch dorthin aktivieren:

$ sudo swapon /new_swap

$ tauschen

Beachten Sie, dass der Versuch, die Auslagerungsdatei zu deaktivieren, in bestimmten Situationen zu einem Fehler wie „Auslagerung fehlgeschlagen: Speicher kann nicht zugewiesen werden“ führen kann. In diesem Fall gehen wir wie folgt vor:

  • Erstellen Sie eine neue Auslagerungsdatei mit mehr Speicherplatz.
  • Befestigen Sie den größeren Swap am System.
  • Löschen Sie die ältere, kleinere Auslagerungsdatei.
  • Entfernen Sie den älteren Auslagerungsdateieintrag von /etc/fstab (wenn anwendbar).

Abschluss

Wir haben eine ausführliche Demonstration zur Verwaltung der Swap-Spaces in Ubuntu besprochen. Wir haben die verschiedenen Arten von Swap Spaces besprochen. Wir haben gelernt, wie man die Größe der Swap-Partitionen ändert und wie man mit Swap-Dateien arbeitet (Erstellen, Löschen und Ändern der Größe).

Sind Sie daran interessiert, Ubuntu zu beherrschen? Schauen Sie sich die Unterkategorie „Ubuntu“ an, die zahlreiche Anleitungen zur Optimierung des Ubuntu-Systems und zur Verwendung verschiedener Tools enthält.

Viel Spaß beim Rechnen!

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen