Auf einem System mit speicherintensiver Auslastung mit üblichen Spitzenlasten kann ein großer Auslagerungsspeicher sinnvoll sein, um große Speicherinhalte zu speichern, die im Moment nicht benötigt werden. Während die Verwendung von Swap anstelle von Speicher sicherlich große Auswirkungen auf die Leistung hat, ist dies manchmal dem Hinzufügen von mehr Speicher zur Maschine vorzuziehen, da der Speicherplatz viel billiger ist. Manchmal gibt es einfach keinen Speicher mehr, vielleicht hat eine physische Maschine keine freien Steckplätze mehr, und es gibt keine größeren Speichermodule auf dem Markt. Zu anderen Zeiten kann die langsamere Leistung bei Spitzenlasten dem Absturz der Anwendung mit Speichermangel vorzuziehen sein.
In einigen Fällen muss der Auslagerungsspeicher erhöht werden, ein Live-Beispiel könnte die Erweiterung des Speichers in der Maschine sein und damit auch die Erweiterung des Auslagerungsbereichs, um der doppelten neuen Speichergröße zu entsprechen.
In diesem Tutorial lernen Sie:
- So überprüfen Sie den Auslagerungsbereich.
- So identifizieren Sie das Swap-Volumen.
- So erweitern Sie das Swap-Volumen.
- So fügen Sie ein weiteres Swap-Volume hinzu.
Überprüfung der Swap-Größe und -Nutzung mit dem kostenlosen Befehl.
Softwareanforderungen und verwendete Konventionen
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | RHEL 8 / CentOS 8 |
Software | lvm2-2.03.00-0.4, util-linux-2.32.1-6 |
Andere | Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl. |
Konventionen | # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden |
Schritt-für-Schritt-Anleitung zum Erhöhen der Auslagerungsgröße auf RHEL 8
In unserem Laboraufbau befindet sich die Swap-Partition auf einem logischen Volume. Dies ist die gebräuchlichste Konfiguration, da LVM eine sehr flexible Art ist, mit dem Speicherplatz umzugehen. Das LVM-Tutorial behandelt die Architektur und Verwendung des Logical Volume Manager, daher gehen wir bei der Verwendung von lvextend
nicht ins Detail um die Größe des Swap-Volumes zu erhöhen. Wir erhöhen den anfänglichen 1-GB-Swap auf 2 GB.
- Wir müssen herausfinden, welches Volume unsere Swap-Partition ist:
# grep swap /etc/fstab /dev/mapper/rhel_rhel8lab-swap swap swap defaults 0 0
Da Volume-Namen standardmäßig mit einem kurzen Hostnamen generiert werden und wir es beim Erstellen eines logischen Volumes explizit benennen können, ändert sich der Volume-Name.
In unserem Beispiel notieren wir den Volume-Namen mit dem Pfad, also
/dev/mapper/rhel_rhel8lab-swap
oder/dev/rhel_rhel8lab/swap
. Diese beiden Namen für die Partition mögen auf den ersten Blick verwirrend sein, aber wenn wir beide auflisten, können wir sehen, dass es sich tatsächlich um symbolische Links handelt, die auf dasselbe Gerät zeigen:# ls -al /dev/rhel_rhel8lab/swap lrwxrwxrwx. 1 root root 7 Nov 25 18:35 /dev/rhel_rhel8lab/swap -> ../dm-1 # ls -al /dev/mapper/rhel_rhel8lab-swap lrwxrwxrwx. 1 root root 7 Nov 25 18:35 /dev/mapper/rhel_rhel8lab-swap -> ../dm-1
Wir werden diese in den nächsten Schritten austauschbar verwenden.
-
Wir müssen das Wechseln des Volumes deaktivieren, während wir daran arbeiten. Wir verwenden den vollständigen Volume-Namen, den wir im ersten Schritt gefunden haben.
# swapoff -v /dev/mapper/rhel_rhel8lab-swap swapoff /dev/mapper/rhel_rhel8lab-swap
WARNUNG
Deaktivieren Sie Swap nicht auf einem Produktionsserver, während dieser stark ausgelastet ist und den Swap übermäßig nutzt! Fügen Sie in einem solchen Szenario stattdessen eine weitere Swap-Partition hinzu. - Um die Größe des Swaps zu erhöhen, erweitern wir das logische Volume, das es enthält. In diesem Beispiel mit einem Gigabyte mehr:
# lvextend -L +1G /dev/rhel_rhel8lab/swap Size of logical volume rhel_rhel8lab/swap changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents). Logical volume rhel_rhel8lab/swap successfully resized.
Beachten Sie, dass Sie sicherstellen müssen, dass Sie genügend freien Speicherplatz in der Volume-Gruppe haben, die das logische Volume enthält, wie Sie es auf jeder anderen Volume-Erweiterung tun würden, die Dateisysteme enthält.
- Wir erstellen den Swap auf dem erweiterten Volume neu:
# mkswap /dev/mapper/rhel_rhel8lab-swap mkswap: /dev/mapper/rhel_rhel8lab-swap: warning: wiping old swap signature. Setting up swapspace version 1, size = 2 GiB (2147479552 bytes) no label, UUID=defca15e-a5ed-4fe8-bddd-5f11a3c76e80
- Wir schalten das Auslagern auf dem erweiterten Auslagerungsvolumen wieder ein:
# swapon -v /dev/mapper/rhel_rhel8lab-swap swapon: /dev/mapper/rhel_rhel8lab-swap: found signature [pagesize=4096, signature=swap] swapon: /dev/mapper/rhel_rhel8lab-swap: pagesize=4096, swapsize=2147483648, devsize=2147483648 swapon /dev/mapper/rhel_rhel8lab-swap
- Es empfiehlt sich, immer zu überprüfen, ob die Änderung des Systems erfolgreich war. In diesem Fall
free -m
(Speicherinformationen mit Werten in Megabyte) sollte zeigen, dass wir 2 GB Swap haben:# free -m total used free shared buff/cache available Mem: 1989 1201 225 17 562 617 Swap: 2047 0 2047
Schritt-für-Schritt-Anleitung zum Hinzufügen einer neuen Swap-Partition auf RHEL 8
Wenn es nicht angebracht ist, den Swap zu deaktivieren, um seine Größe zu erhöhen, können wir den gesamten Swap erhöhen, indem wir ein weiteres Volume hinzufügen, das ebenfalls eine Swap-Partition ist. Wenn wir fertig sind, geben wir es einfach an das System weiter, das es nach Bedarf verwenden wird.
- Wir erstellen ein neues logisches Volume mit
LVM
wie wir es tun würden, wenn wir ein neues Volume haben möchten, das ein Dateisystem speichert:# lvcreate -L 1G -n swap2 rhel_rhel8lab Logical volume "swap2" created.
Auf demselben Laborcomputer ergibt sich daraus ein vollständiger Pfadname der neuen Partition als
/dev/mapper/rhel_rhel8lab-swap2
, dasselbe wie/dev/rhel_rhel8lab/swap2
. - Erstellen Sie den Swap mit
mkswap
:# mkswap /dev/rhel_rhel8lab/swap2 Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=a319fb8d-18b8-42b7-b6bf-cafb27aaec2b
- Wechsel auf dem neuen Volume einschalten:
# swapon /dev/rhel_rhel8lab/swap2
- Und überprüfen Sie die Ergebnisse:
# free -m total used free shared buff/cache available Mem: 1989 1198 153 14 637 623 Swap: 2047 0 2047
- Damit das Betriebssystem die neue Swap-Partition nach dem Neustart verwenden kann, müssen wir sie zu
/etc/fstab
hinzufügen :# grep swap /etc/fstab /dev/mapper/rhel_rhel8lab-swap swap swap defaults 0 0 /dev/mapper/rhel_rhel8lab-swap2 swap swap defaults 0 0
Der Unterschied zwischen den beiden Methoden kann durch Überprüfen des Inhalts von
/proc/swaps
umrissen werden , wo wir sehen können, dass das Hinzufügen eines weiteren Volumes anstelle des Erweiterns des bereits vorhandenen dazu führt, dass zwei Geräte zum Austauschen verwendet werden:# cat /proc/swaps Filename Type Size Used Priority /dev/dm-1 partition 1048572 0 -2 /dev/dm-2 partition 1048572 0 -3