Swap ist ein Speicherplatz auf einer Festplatte, der verwendet wird, wenn der physische 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. Normalerweise ist beim Ausführen einer virtuellen Debian-Maschine keine Auslagerungspartition vorhanden, sodass die einzige Option darin besteht, eine Auslagerungsdatei zu erstellen.
Dieses Tutorial führt Sie durch die Schritte zum Hinzufügen einer Auslagerungsdatei unter Debian 10 Buster.
Bevor Sie beginnen #
Obwohl möglich, ist es nicht üblich, mehrere Auslagerungsbereiche auf einer einzelnen Maschine zu haben. Um zu überprüfen, ob Ihre Debian-Installation bereits Swap aktiviert hat, führen Sie den folgenden Befehl aus:
sudo swapon --show Wenn die Ausgabe leer ist, bedeutet dies, dass das System keinen Auslagerungsbereich hat.
Andernfalls, wenn Sie etwas wie das Folgende erhalten, haben Sie Swap bereits auf Ihrem Debian-System aktiviert.
NAME TYPE SIZE USED PRIO
/dev/sda2 partition 4G 0B -1
Um Swap zu aktivieren, muss der Benutzer, der die Befehle ausführt, über sudo-Berechtigungen verfügen.
Erstellen einer Auslagerungsdatei #
In diesem Beispiel erstellen und aktivieren wir 1G von tauschen. Um einen größeren Swap zu erstellen, ersetzen Sie 1G mit der Größe des gewünschten Auslagerungsbereichs.
Die folgenden Schritte zeigen, wie man Auslagerungsspeicher unter Debian 10 hinzufügt.
-
Erstellen Sie zuerst eine Datei, die für den Austausch verwendet wird:
sudo fallocate -l 1G /swapfileWenn
fallocatenicht installiert ist oder Sie eine Fehlermeldung erhalten, die besagt:fallocate failed: Operation not supportedSie können den folgenden Befehl verwenden, 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 lesen und zu schreiben. Geben Sie den folgenden Befehl aus, um die richtigen Berechtigungen festzulegen:
sudo chmod 600 /swapfile -
Verwenden Sie den
mkswapWerkzeug zum Einrichten eines Linux-Auslagerungsbereichs für die Datei:sudo mkswap /swapfile -
Aktivieren Sie die Auslagerungsdatei:
sudo swapon /swapfileUm die Änderung dauerhaft zu machen, öffnen Sie
/etc/fstabDatei:sudo nano /etc/fstabund 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
swaponverwenden oderfreeBefehl wie unten gezeigt:sudo swapon --showNAME TYPE SIZE USED PRIO /swapfile file 1024M 507.4M -1sudo free -htotal 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 veranlasst den Kernel, zu versuchen, Auslagerungen zu vermeiden, wann immer dies möglich ist, während ein höherer Wert den Kernel veranlasst, den Auslagerungsbereich aggressiver zu nutzen.
Der voreingestellte Swappiness-Wert ist 60. Sie können den aktuellen Swappiness-Wert mit cat überprüfen Befehl:
cat /proc/sys/vm/swappiness 60
Während der Swappiness-Wert von 60 für die meisten Linux-Systeme in Ordnung ist, sollten Sie für Produktionsserver einen niedrigeren Wert festlegen.
Um beispielsweise den Swappiness-Wert auf 10 festzulegen, geben Sie Folgendes ein:
sudo sysctl vm.swappiness=10
Um diesen Parameter über Neustarts hinweg persistent 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 #
Führen Sie die folgenden Schritte aus, um die Auslagerungsdatei zu deaktivieren und zu entfernen:
-
Deaktivieren Sie den Auslagerungsbereich, indem Sie Folgendes ausführen:
sudo swapoff -v /swapfile -
Öffnen Sie die
/etc/fstabDatei mit Ihrem Texteditor und entfernen Sie den Swap-Dateieintrag/swapfile swap swap defaults 0 0. -
Löschen Sie abschließend die eigentliche Auslagerungsdatei mit dem
rmBefehl:sudo rm /swapfile