In diesem Tutorial wird das Konzept der Auslagerungsdatei in Linux erläutert, warum es verwendet wird und welche Vorteile es gegenüber der herkömmlichen Auslagerungspartition hat. Sie erfahren, wie Sie eine Auslagerungsdatei erstellen oder deren Größe ändern.
Was ist eine Auslagerungsdatei unter Linux?
Eine Auslagerungsdatei ermöglicht es Linux, den Speicherplatz als RAM zu simulieren. Wenn Ihrem System der RAM ausgeht, verwendet es den Auslagerungsspeicher und lagert einen Teil des RAM-Inhalts auf den Festplattenspeicher aus. Dadurch wird der Arbeitsspeicher für wichtigere Prozesse freigegeben. 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 Swap Space als separate Partition auf der Festplatte verwendet. Wenn Sie Linux installieren, erstellen Sie eine separate Partition nur für den Austausch. Aber 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, diese als Auslagerungsspeicher zu verwenden.
Bei einer dedizierten Swap-Partition ist die Größenänderung des Swap-Bereichs ein Albtraum und in vielen Fällen eine unmögliche Aufgabe. Aber mit Auslagerungsdateien können Sie die Größe beliebig ändern.
Neuere Versionen von Ubuntu und einigen anderen Linux-Distributionen verwenden standardmäßig die Auslagerungsdatei. Selbst wenn Sie keine Auslagerungspartition erstellen, erstellt Ubuntu selbst eine Auslagerungsdatei von etwa 1 GB.
Lassen Sie uns mehr über Auslagerungsdateien sehen.
Auslagerungsspeicher unter Linux prüfen
Bevor Sie beginnen, Auslagerungsspeicher hinzuzufügen, sollten Sie prüfen, ob in Ihrem System bereits Auslagerungsspeicher verfügbar ist.
Sie können dies mit dem kostenlosen Befehl unter Linux überprüfen. 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 freie 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 Swapon-Befehl 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 Auslagerungsspeicher und er befindet sich auf einer separaten Partition. Wenn es eine Auslagerungsdatei wäre, wäre der Typ file statt partition.
swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -2
Wenn Sie keinen Auslagerungsbereich auf Ihrem System haben, sollte es etwa 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.
Auslagerungsdatei unter Linux erstellen
Wenn Ihr System keinen Auslagerungsspeicher hat oder Sie der Meinung sind, dass der Auslagerungsspeicher nicht ausreicht, können Sie unter Linux eine Auslagerungsdatei erstellen. Sie können auch mehrere Auslagerungsdateien erstellen.
Mal sehen, wie man eine Auslagerungsdatei unter Linux erstellt. 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 als Erstes eine Datei mit der gewünschten Größe des Auslagerungsbereichs. Nehmen wir an, ich möchte meinem System 1 GB Auslagerungsspeicher hinzufügen. Verwenden Sie den Befehl fallocate, um eine Datei mit einer Größe von 1 GB zu erstellen.
sudo fallocate -l 1G /swapfile
Es wird empfohlen, nur root das Lesen und Schreiben in die Auslagerungsdatei zu erlauben. Sie sehen sogar eine Warnung wie „Unsichere Berechtigungen 0644, 0600 vorgeschlagen“, 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 Auslagerungsdatei_1, Auslagerungsdatei_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 Auslagerungsspeicher verwendet wird. Sie können das mit dem mkswap-Tool tun.
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 Datei Auslagerungsdatei als Auslagerungsspeicher 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
Was Sie bisher getan haben, ist vorübergehend. Starten Sie Ihr System neu und alle Änderungen 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 /etc/fstab-Datei hinzufügen:
/swapfile none swap sw 0 0
Sie können dies manuell mit einem Befehlszeilen-Texteditor tun oder Sie verwenden einfach den folgenden Befehl:
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 einem Neustart Ihres Linux-Systems verwendet.
Austauschverhalten anpassen
Die Auslagerungsparameter bestimmen, wie oft der Auslagerungsbereich verwendet werden soll. Der Auslagerungswert reicht von 0 bis 100. Ein höherer Wert bedeutet, dass der Auslagerungsbereich häufiger verwendet wird.
Die Standardauslagerung im Ubuntu-Desktop ist 60, während sie im Server 1 ist. Sie können die Auslagerung mit dem folgenden Befehl überprüfen:
cat /proc/sys/vm/swappiness
Warum sollten Server eine niedrige Swapiness verwenden? Da Swap langsamer als RAM ist und für eine bessere Leistung sollte der RAM so viel wie möglich genutzt werden. Auf Servern ist der Leistungsfaktor entscheidend und daher ist die Swappinness so gering wie möglich.
Mit dem folgenden systemd-Befehl können Sie die Auslagerung im Handumdrehen ändern:
sudo sysctl vm.swappiness=25
Dies ändert es jedoch nur vorübergehend. Wenn Sie es dauerhaft machen möchten, können Sie die Datei /etc/sysctl.conf bearbeiten und den Swapiness-Wert am Ende der Datei hinzufügen:
vm.swappiness=25
Auslagerungsspeicher unter Linux ändern
Es gibt mehrere Möglichkeiten, wie Sie die Größe des Auslagerungsbereichs unter Linux ändern können. Aber bevor Sie das sehen, sollten Sie ein paar Dinge darüber lernen.
Wenn Sie Ihr System auffordern, die Verwendung einer Auslagerungsdatei für den Auslagerungsbereich einzustellen, überträgt es alle Daten (genauer gesagt Seiten) zurück in den Arbeitsspeicher. Sie sollten also genügend freien RAM haben, bevor Sie auswechseln.
Aus diesem Grund empfiehlt es sich, eine weitere temporäre Auslagerungsdatei zu erstellen und zu aktivieren. Auf diese Weise verwendet Ihr System die temporäre Auslagerungsdatei, wenn Sie den ursprünglichen Auslagerungsbereich auslagern. Jetzt können Sie die Größe des ursprünglichen Auslagerungsbereichs ändern. Sie können die temporäre Auslagerungsdatei manuell entfernen oder so lassen, wie sie ist, und sie wird beim nächsten Start automatisch gelöscht.
Wenn Sie über genügend freien Arbeitsspeicher verfügen oder einen temporären Auslagerungsbereich erstellt haben, lagern Sie Ihre Originaldatei aus.
sudo swapoff /swapfile
Jetzt können Sie den Befehl fallocate verwenden, um die Größe der Datei zu ändern. Angenommen, Sie ändern die Größe auf 2 GB:
sudo fallocate -l 2G /swapfile
Markieren Sie die Datei nun wieder als Auslagerungsbereich:
sudo mkswap /swapfile
Und schalten Sie den Swap wieder ein:
sudo swapon /swapfile
Sie können auch mehrere Auslagerungsdateien gleichzeitig haben.
Auslagerungsdatei unter Linux entfernen
Möglicherweise haben Sie Ihre Gründe, warum Sie die Auslagerungsdatei unter Linux nicht verwenden. Wenn Sie es entfernen möchten, ist der Prozess ähnlich dem, was Sie gerade bei der Größenänderung 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
Tauschen Sie?
Ich denke, Sie haben jetzt ein gutes Verständnis für das Konzept der Auslagerungsdatei in Linux. Sie können jetzt ganz einfach Auslagerungsdateien erstellen oder deren Größe nach Bedarf ändern.
Wenn Sie zu diesem Thema etwas hinzuzufügen haben oder irgendwelche Zweifel haben, hinterlassen Sie bitte unten einen Kommentar.