Swap ist ein Speicherplatz auf einer Festplatte, der verwendet wird, wenn der physische RAM-Speicher voll ist. Wenn einem Linux-System der Arbeitsspeicher ausgeht, werden inaktive Seiten aus dem Arbeitsspeicher in den Auslagerungsbereich verschoben.
Auslagerungsspeicher kann entweder eine dedizierte Auslagerungspartition oder eine Auslagerungsdatei sein. Wenn Ubuntu auf einer virtuellen Maschine ausgeführt wird, ist im Allgemeinen keine Auslagerungspartition vorhanden, und die einzige Option besteht darin, eine Auslagerungsdatei zu erstellen.
Dieses Tutorial behandelt die Schritte, die zum Hinzufügen einer Auslagerungsdatei auf Ubuntu 18.04-Systemen erforderlich sind.
Bevor Sie beginnen #
Bevor Sie mit diesem Tutorial fortfahren, überprüfen Sie, ob Ihre Ubuntu-Installation bereits Swap aktiviert hat, indem Sie Folgendes eingeben:
sudo swapon --show
Wenn die Ausgabe leer ist, bedeutet dies, dass Ihr System keinen Auslagerungsbereich aktiviert hat.
Andernfalls, wenn Sie etwas wie unten erhalten, haben Sie bereits Swap auf Ihrem Computer aktiviert.
NAME TYPE SIZE USED PRIO
/dev/sda2 partition 1.9G 0B -2
Obwohl es möglich ist, ist es nicht üblich, mehrere Auslagerungsbereiche auf einer einzelnen Maschine zu haben.
Erstellen einer Auslagerungsdatei #
Der Benutzer, als der Sie angemeldet sind, muss über sudo-Berechtigungen verfügen, um Swap aktivieren zu können. In diesem Beispiel fügen wir 1G
hinzu Tauschen. Wenn Sie mehr Swap hinzufügen möchten, ersetzen Sie 1G
mit der Größe des Auslagerungsbereichs, den Sie benötigen.
Führen Sie die folgenden Schritte aus, um Swap Space unter Ubuntu 18.04 hinzuzufügen.
-
Beginnen Sie mit dem Erstellen einer Datei, die für den Austausch verwendet wird:
sudo fallocate -l 1G /swapfile
Wenn
fallocate
nicht installiert ist oder Sie eine Fehlermeldung erhalten, die besagt:fallocate failed: Operation not supported
Verwenden Sie dann den folgenden Befehl, um die Auslagerungsdatei zu erstellen:sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
-
Nur der Root-Benutzer sollte in der Lage sein, die Auslagerungsdatei zu schreiben und zu lesen. Legen Sie die richtigen Berechtigungen fest, indem Sie Folgendes eingeben:
sudo chmod 600 /swapfile
-
Verwenden Sie den
mkswap
Dienstprogramm zum Einrichten eines Linux-Auslagerungsbereichs für die Datei:sudo mkswap /swapfile
-
Aktivieren Sie die Auslagerungsdatei mit dem folgenden Befehl:
sudo swapon /swapfile
Um die Änderung dauerhaft zu machen, öffnen Sie
/etc/fstab
Datei:sudo nano /etc/fstab
und fügen Sie die folgende Zeile ein:
/etc/fstab/swapfile swap swap defaults 0 0
-
Überprüfen Sie, ob der Swap aktiv ist, indem Sie entweder
swapon
verwenden oder denfree
Befehl, wie unten gezeigt:sudo swapon --show
NAME TYPE SIZE USED PRIO /swapfile file 1024M 507.4M -1
sudo free -h
total used free shared buff/cache available Mem: 488M 158M 83M 2.3M 246M 217M Swap: 1.0G 506M 517M
Anpassen des Swapiness-Wertes #
Swappiness ist eine Linux-Kernel-Eigenschaft, die definiert, wie oft das System den Swap-Bereich verwendet. Swapiness kann einen Wert zwischen 0 und 100 haben. Ein niedriger Wert wird den Kernel dazu bringen, zu versuchen, Auslagerungen zu vermeiden, wann immer es möglich ist, während ein höherer Wert den Kernel veranlassen wird, den Auslagerungsraum aggressiver zu nutzen.
Der Standardwert für die Auslagerung ist 60. Sie können den aktuellen Wert für die Auslagerung überprüfen, indem Sie den folgenden Befehl eingeben:
cat /proc/sys/vm/swappiness
60
Während der Swappiness-Wert von 60 für die meisten Linux-Systeme in Ordnung ist, müssen Sie für Produktionsserver möglicherweise einen niedrigeren Wert festlegen.
Um beispielsweise den Swappiness-Wert auf 10 festzulegen, führen Sie Folgendes aus:
sudo sysctl vm.swappiness=10
Um diesen Parameter über Neustarts hinweg dauerhaft zu machen, hängen Sie die folgende Zeile an /etc/sysctl.conf
an Datei:
vm.swappiness=10
Der optimale Auslagerungswert hängt von Ihrer Systemauslastung und der Verwendung des Arbeitsspeichers ab. Sie sollten diesen Parameter in kleinen Schritten anpassen, um einen optimalen Wert zu finden.
Entfernen einer Auslagerungsdatei #
Gehen Sie folgendermaßen vor, um die Auslagerungsdatei zu deaktivieren und zu entfernen:
-
Deaktivieren Sie zunächst den Auslagerungsbereich, indem Sie Folgendes eingeben:
sudo swapoff -v /swapfile
-
Entfernen Sie als Nächstes den Eintrag der Auslagerungsdatei
/swapfile swap swap defaults 0 0
aus/etc/fstab
Datei. -
Entfernen Sie schließlich die eigentliche Auslagerungsdatei mit dem
rm
Befehl:sudo rm /swapfile