So erstellen und verwenden Sie eine Auslagerungsdatei unter Linux

In diesem Tutorial werden das Konzept der Auslagerungsdatei in Linux, ihre Verwendung und ihre Vorteile gegenüber der herkömmlichen Auslagerungspartition erläutert. Sie erfahren, wie Sie eine Auslagerungsdatei erstellen oder ihre Größe ändern.

Was ist eine Auslagerungsdatei unter Linux?

Eine Auslagerungsdatei ermöglicht es Linux, den Festplattenspeicher als RAM zu simulieren. Wenn Ihrem System der Arbeitsspeicher ausgeht, verwendet es den Auslagerungsspeicher und lagert einen Teil des Arbeitsspeichers auf den Festplattenspeicher aus. Dadurch wird der Arbeitsspeicher frei, um wichtigere Prozesse zu bedienen. Wenn der Arbeitsspeicher wieder frei ist, lagert er die Daten von der Platte zurück. Ich empfehle, diesen Artikel zu lesen, um mehr über Swap unter Linux zu erfahren.

Traditionell wird der Auslagerungsspeicher als separate Partition auf der Festplatte verwendet. Wenn Sie Linux installieren, erstellen Sie eine separate Partition nur für den Swap. Doch dieser Trend hat sich in den letzten Jahren geändert.

Mit der Auslagerungsdatei benötigen Sie keine separate Partition mehr. Sie erstellen eine Datei unter Root und weisen Ihr System an, sie als Auslagerungsbereich zu verwenden.

Bei einer dedizierten Swap-Partition ist die Größenänderung des Swap-Speichers ein Albtraum und in vielen Fällen eine unmögliche Aufgabe. Bei Auslagerungsdateien können Sie jedoch die Größe nach Belieben ändern.

Neuere Versionen von Ubuntu und einigen anderen Linux-Distributionen sind gestartet standardmäßig die Auslagerungsdatei verwenden. Auch wenn Sie keine Auslagerungspartition erstellen, erstellt Ubuntu selbst eine Auslagerungsdatei von etwa 1 GB.

Sehen wir uns etwas mehr zu Auslagerungsdateien an.

Swap-Speicher unter Linux prüfen

Bevor Sie mit dem Hinzufügen von Swap-Speicher beginnen, sollten Sie überprüfen, ob in Ihrem System bereits Swap-Speicher verfügbar ist.

Sie können es mit der überprüfen kostenloser Befehl unter Linux. In meinem Fall hat mein Dell XPS 14 GB Swap.

free -h
              total        used        free      shared  buff/cache   available
Mem:           7.5G        4.1G        267M        971M        3.1G        2.2G
Swap:           14G          0B         14G

Der free-Befehl gibt Ihnen die Größe des Auslagerungsbereichs an, sagt Ihnen jedoch nicht, ob es sich um eine echte Auslagerungspartition oder eine Auslagerungsdatei handelt. Der Befehl swapon ist in dieser Hinsicht besser.

swapon --show
NAME           TYPE       SIZE USED PRIO
/dev/nvme0n1p4 partition 14.9G   0B   -2

Wie Sie sehen können, habe ich 14,9 GB Swap-Speicherplatz und er befindet sich auf einer separaten Partition. Wenn es sich um eine Auslagerungsdatei handelt, wäre der Typ Datei statt Partition gewesen.

swapon --show
NAME      TYPE SIZE USED PRIO
/swapfile file   2G   0B   -2

Wenn Sie auf Ihrem System keinen Auslagerungsspeicher haben, sollte es ungefähr so ​​​​aussehen:

free -h
              total        used        free      shared  buff/cache   available
Mem:           7.5G        4.1G        267M        971M        3.1G        2.2G
Swap:           0B          0B         0B

Der Befehl swapon zeigt keine Ausgabe an.

Auslagerungsdatei unter Linux erstellen

Wenn Ihr System keinen Auslagerungsbereich hat oder Sie denken, dass der Auslagerungsbereich nicht ausreicht, können Sie eine Auslagerungsdatei unter Linux erstellen. Sie können auch mehrere Auslagerungsdateien erstellen.

Sehen wir uns an, wie Sie eine Auslagerungsdatei unter Linux erstellen. Ich verwende Ubuntu 18.04 in diesem Tutorial, aber es sollte auch auf anderen Linux-Distributionen funktionieren.

Schritt 1: Erstellen Sie eine neue Auslagerungsdatei

Erstellen Sie zunächst eine Datei mit der gewünschten Größe des Swap-Speichers. Nehmen wir an, ich möchte meinem System 1 GB Swap-Speicher hinzufügen. Verwenden Sie den Befehl fallocate, um eine Datei der Größe 1 GB zu erstellen.

sudo fallocate -l 1G /swapfile

Es wird empfohlen, nur Root das Lesen und Schreiben in die Auslagerungsdatei zu erlauben. Sie werden sogar Warnungen wie „unsichere Berechtigungen 0644, 0600 vorgeschlagen“ sehen, wenn Sie versuchen, diese Datei für den Auslagerungsbereich zu verwenden.

sudo chmod 600 /swapfile

Beachten Sie, dass der Name der Auslagerungsdatei beliebig sein kann. Wenn Sie mehrere Auslagerungsbereiche benötigen, können Sie ihm einen geeigneten Namen wie swap_file_1, swap_file_2 usw. geben. Es ist nur eine Datei mit einer vordefinierten Größe.

Schritt 2: Markieren Sie die neue Datei als Auslagerungsbereich

Sie müssen dem Linux-System mitteilen, dass diese Datei als Auslagerungsbereich verwendet wird. Das kannst du mit mkswap Werkzeug.

sudo mkswap /swapfile

Sie sollten eine Ausgabe wie diese sehen:

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=7e1faacb-ea93-4c49-a53d-fb40f3ce016a

Schritt 3: Aktivieren Sie die Auslagerungsdatei

Jetzt weiß Ihr System, dass die Dateiauslagerungsdatei als Auslagerungsbereich verwendet werden kann. Aber es ist noch nicht fertig. Sie müssen die Auslagerungsdatei aktivieren, damit Ihr System diese Datei als Auslagerung verwenden kann.

sudo swapon /swapfile

Wenn Sie nun den Auslagerungsbereich überprüfen, sollten Sie sehen, dass Ihr Linux-System ihn erkennt und als Auslagerungsbereich verwendet:

swapon --show
NAME       TYPE   SIZE USED PRIO
/swapfile  file 1024M   0B   -2

Schritt 4: Machen Sie die Änderungen dauerhaft

Alles, was Sie bisher getan haben, ist vorübergehend. Starten Sie Ihr System neu und alle Änderungen werden verschwinden.

Sie können die Änderungen dauerhaft machen, indem Sie die neu erstellte Auslagerungsdatei zur Datei /etc/fstab hinzufügen.

Es ist immer eine gute Idee, eine Sicherungskopie zu erstellen, bevor Sie Änderungen an der Datei /etc/fstab vornehmen.

sudo cp /etc/fstab /etc/fstab.back

Jetzt können Sie die folgende Zeile am Ende der Datei /etc/fstab hinzufügen:

/swapfile none swap sw 0 0

Sie können dies manuell mit einem Befehlszeilen-Texteditor tun oder einfach den folgenden Befehl verwenden:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Jetzt haben Sie alles an Ort und Stelle. Ihre Auslagerungsdatei wird auch nach dem Neustart Ihres Linux-Systems verwendet.

Tauschverhalten anpassen

Die Parameter swappiness legen fest, wie oft der Swapspace verwendet werden soll. Der Wert für die Auslagerung reicht von 0 bis 100. Ein höherer Wert bedeutet, dass der Auslagerungsbereich häufiger verwendet wird.

Die Standard-Swappiness in Ubuntu-Desktop ist 60, während sie auf dem Server 1 ist. Sie können die Swappiness mit dem folgenden Befehl überprüfen:

cat /proc/sys/vm/swappiness

Warum sollten Server eine niedrige Swappiness verwenden? Da Swap langsamer ist als RAM und für eine bessere Leistung sollte der RAM so weit wie möglich genutzt werden. Auf Servern ist der Leistungsfaktor entscheidend und daher ist die Swappinness so gering wie möglich.

Sie können die Swappiness im Handumdrehen mit dem folgenden systemd-Befehl ändern:

sudo sysctl vm.swappiness=25

Diese Änderung ist jedoch nur vorübergehend. Wenn Sie es dauerhaft machen möchten, können Sie die Datei /etc/sysctl.conf bearbeiten und den swappiness-Wert am Ende der Datei hinzufügen:

vm.swappiness=25

Ändern der Größe des Swap-Speichers unter Linux

Es gibt mehrere Möglichkeiten, die Größe des Swap-Speichers unter Linux zu ändern. Aber bevor Sie das sehen, sollten Sie ein paar Dinge dazu lernen.

Wenn Sie Ihr System auffordern, keine Auslagerungsdatei für den Auslagerungsbereich zu verwenden, überträgt es alle Daten (genauer gesagt Seiten) zurück in den Arbeitsspeicher. Sie sollten also vor dem Auslagern genügend freien RAM haben.

Aus diesem Grund empfiehlt es sich, eine weitere temporäre Auslagerungsdatei zu erstellen und zu aktivieren. Auf diese Weise verwendet Ihr System beim Auslagern des ursprünglichen Auslagerungsbereichs die temporäre Auslagerungsdatei. Jetzt können Sie die Größe des ursprünglichen Auslagerungsbereichs ändern. Sie können die temporäre Auslagerungsdatei manuell entfernen oder unverändert lassen und sie wird beim nächsten Start automatisch gelöscht.

Wenn Sie über genügend freien RAM verfügen oder einen temporären Auslagerungsbereich erstellt haben, tauschen Sie Ihre Originaldatei aus.

sudo swapoff /swapfile

Jetzt können Sie mit dem Befehl fallocate die Größe der Datei ändern. Nehmen wir an, Sie ändern die Größe auf 2 GB:

sudo fallocate -l 2G /swapfile

Markieren Sie nun die Datei wieder als Auslagerungsbereich:

sudo mkswap /swapfile

Und schalte den Swap wieder ein:

sudo swapon /swapfile

Sie können auch mehrere Auslagerungsdateien gleichzeitig verwenden.

Auslagerungsdatei unter Linux entfernen

Möglicherweise gibt es Gründe dafür, die Auslagerungsdatei unter Linux nicht zu verwenden. Wenn Sie es entfernen möchten, ist der Vorgang ähnlich dem, den Sie gerade beim Ändern der Größe des Swaps gesehen haben.

Stellen Sie zunächst sicher, dass Sie über genügend freien Arbeitsspeicher verfügen. Tauschen Sie nun die Datei aus:

sudo swapoff /swapfile

Im nächsten Schritt entfernen Sie den entsprechenden Eintrag aus der Datei /etc/fstab.

Und am Ende können Sie die Datei entfernen, um Speicherplatz freizugeben:

sudo rm /swapfile

Wechselst du?

Ich denke, Sie haben jetzt ein gutes Verständnis für das Konzept von Auslagerungsdateien in Linux. Sie können jetzt ganz einfach eine Auslagerungsdatei erstellen oder ihre Größe nach Bedarf ändern.

Wenn Sie zu diesem Thema etwas hinzuzufügen haben oder Zweifel haben, hinterlassen Sie bitte unten einen Kommentar.