So erstellen Sie eine Linux-Auslagerungsdatei

Eine der empfohlenen Möglichkeiten, die Leistung Ihres Servers zu steigern und zu vermeiden, dass der Arbeitsspeicher knapp wird, besteht darin, einen Auslagerungsbereich oder eine Auslagerungsdatei zu erstellen. Wechsel ist virtueller Speicher auf Ihrer Festplatte und erweitert den Arbeitsspeicher bei hoher Speicherauslastung.

Wenn Ihrem System der Hauptspeicher ausgeht, lagert der Linux-Kernel einen Teil des Speichers aus dem Arbeitsspeicher aus und schreibt ihn auf die Festplatte. Auf diese Weise wird dem System mehr Arbeitsspeicher zur Verfügung gestellt und Prozesse können reibungslos ablaufen.

In diesem Tutorial erfahren wir, wie Sie eine Auslagerungsdatei auf Linux-Distributionen wie Ubuntu und CentOS erstellen.

Swap konfiguriert prüfen

Nachdem Sie sich die Vorteile der Erstellung einer Auslagerungsdatei angesehen haben, ist es wichtig, zunächst zu überprüfen, ob Auslagerung auf Ihrem System konfiguriert ist. Dies hilft Ihnen zu wissen, ob Sie eine Auslagerungsdatei konfigurieren müssen oder nicht.

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Auslagerungsspeicher erstellt wurde:

$ swapon

Der Befehl zeigt die Größe der Swap-Partition und die Dateisystembezeichnung an. Hier ist eine Ausgabe des Befehls.

NAME TYPE SIZE USED PRIO
/dev/sda9 partition 3.8G 383.3M -2

Wenn Sie den Befehl ausführen und keine Ausgabe erhalten, bedeutet dies, dass Sie keine Swap-Partition konfiguriert haben. Sie können das Fehlen von Swap Space bestätigen, indem Sie den folgenden Befehl ausführen:

$ free -h

Dies zeigt die Statistik der Hauptspeicher- und Swap-Auslastung an.

total used free shared buff/cache available
Mem: 7.6G 5.6G 386M 1.1G 1.7G 675M
Swap: 0B 0B 0G

An der Ausgabe können wir deutlich erkennen, dass in der Zeile ‘Swap’ kein Speicher gedruckt wird. Dies ist eine Bestätigung, dass sich auf dem Linux-System keine aktive Swap-Partition befindet. Lassen Sie uns nun eine Auslagerungsdatei für das System erstellen.

Festplattenspeicher prüfen

Wie bereits erwähnt, ist Auslagerungsspeicher virtueller Speicher auf der Festplatte, der eine Erweiterung des Arbeitsspeichers bietet. Vor diesem Hintergrund erstellen wir eine Auslagerungsdatei auf der Festplatte. Bevor wir dies tun, ist es jedoch immer ratsam, den verfügbaren Festplattenspeicher zu überprüfen.

Führen Sie den folgenden Befehl aus, um den verfügbaren Festplattenspeicher unter Linux zu überprüfen:

$ df -h

Achten Sie in der Ausgabe auf die Root-Partition, die durch einen einzelnen Schrägstrich gekennzeichnet ist ( / ) unter dem ‘Befestigt auf‘ Säule. In der Ausgabe unten wird die Root-Partition als /dev/sda7-Dateisystem bezeichnet und verfügt über 97 GB freien Speicherplatz, was mehr als genug ist.

Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 784M 2.3M 781M 1% /run
/dev/sda7 156G 54G 97G 39% /
tmpfs 3.9G 828M 3.1G 22% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda10 29G 5.9G 21G 22% /var
/dev/sda8 1.9G 124M 1.7G 7% /boot

Auslagerungsdatei erstellen

Nachdem wir festgestellt haben, dass auf unserem Linux-System genügend Speicherplatz zur Verfügung steht, werden wir mit der Erstellung einer Auslagerungsdatei fortfahren. Denken Sie daran, dass der Auslagerungsspeicher normalerweise während der Installation erstellt wird. Wenn bereits Swap-Speicherplatz vorhanden ist, können Sie loslegen. Wenn Sie jedoch keinen Auslagerungsbereich haben, wird empfohlen, eine Auslagerungsdatei zu erstellen.

Vor diesem Hintergrund erstellen wir eine Auslagerungsdatei von 1 GB. Um dies zu erreichen, geben Sie die fallocate Befehl wie gezeigt:

$ sudo fallocate -l 1G /swap_file

Sie können der Auslagerungsdatei einen beliebigen Namen geben. In diesem Fall haben wir es genannt Auslagerungsdatei. Wenn das Dienstprogramm fallocate jedoch nicht vorhanden ist, führen Sie den folgenden Befehl aus:

$ sudo dd if=/dev/zero of=/swap_file bs=1024 count=1048576

Legen Sie als Nächstes die richtigen Dateiberechtigungen für die Auslagerungsdatei fest, da nur der Root Lese- und Schreibberechtigungen erhält:

$ sudo chmod 600 /swap_file

Der chmod 600 -Argument weist nur der Auslagerungsdatei Lese- und Schreibberechtigungen zu.

Wechselbereich einrichten

Um den Swap-Bereich einzurichten, verwenden Sie den folgenden Befehl mit dem mkswap Dienstprogramm wie gezeigt:

$ sudo mkswap / swap_file

Um die Auslagerungsdatei zu aktivieren, führen Sie den folgenden Befehl aus:

$ sudo swapon /swap_file

Swap beim Neustart persistent machen

Die auf dem Linux-System erstellte Auslagerungsdatei ist nicht permanent und überlebt einen Neustart nicht. Um die Auslagerungsdatei auch nach einem Neustart persistent zu machen, müssen wir die /etc/fstab Datei und hängen Sie den neu erstellten Swap-Eintrag an.

Öffnen Sie mit Ihrem bevorzugten Texteditor die Datei /etc/fstab. Wir haben den vim-Editor wie gezeigt verwendet:

$ sudo vim /etc/fstab

Als nächstes fügen Sie den folgenden Inhalt ein

/swap_file swap swap defaults 0 0

Save die Änderungen und beenden Sie die Datei /etc/fstab. Um zu bestätigen, dass die Auslagerungsdatei erstellt wurde, führen Sie den folgenden Befehl aus:

$ sudo swapon --show

Sie sollten eine Ausgabe erhalten, die derjenigen ähnelt, die wir haben

NAME TYPE SIZE USED PRIO
/swap_file file 1024M 346.4M -2

Einstellungen tauschen

An dieser Stelle haben wir unsere Auslagerungsdatei erfolgreich erstellt. Wir werden noch eine weitere Eigenschaft von Swap betrachten, und das ist der Swappiness-Wert. Swappiness bezieht sich auf eine Eigenschaft im Linux-Kernel, die die Häufigkeit der Swap-Nutzung bestimmt.

Der Swappiness-Wert reicht von 0 bis 100. Ein niedriger Wert bedeutet, dass das System den Kernel veranlassen wird, Swapping so weit wie möglich zu unterbinden. Ein höherer Wert hat den gegenteiligen Effekt – er bewirkt, dass der Kernel Swap so häufig wie möglich verwendet.

Standardmäßig ist der Swappiness-Wert 60. Sie können dies bestätigen, indem Sie den folgenden Befehl ausführen:

cat /proc/sys/vm/swappiness

Dieser Wert mag zwar in Ordnung erscheinen, wird jedoch für Produktionsserver nicht bevorzugt. Um einen niedrigeren Wert festzulegen, beispielsweise 20, führen Sie den folgenden Befehl aus.

sudo sysctl vm.swappiness=20

Damit dieser Wert beim Neustart erhalten bleibt, fügen Sie die folgende Zeile zur Datei /etc/sysctl.conf hinzu

vm.swappiness=20

Swap-Dateien vs. Swap-Partitionen

Linux kommt mit 2 Arten von Auslagerungsspeicher, Auslagerungspartition und Auslagerungsdatei. Eine Swap-Partition ist ein separater Teil der Festplatte, der ausschließlich zum Austauschen verwendet wird. Hier sind keine Dateien vorhanden.

Auf der anderen Seite ist eine Auslagerungsdatei eine einzigartige Datei, die sich neben Ihren Daten- und Systemdateien auf dem Dateisystem befindet.

Swap Space wirklich benötigt? wie viel?

Die sehr häufig gestellte Frage bei der Installation von Linux ist ‘Muss ich einen Swap erstellen?’. Wie bereits erwähnt, soll Swap Space als Puffer dienen, wenn der RAM aus dem einen oder anderen Grund erschöpft ist. Wenn kein Speicher mehr für Anwendungen vorhanden ist, wählt das Betriebssystem einen bestimmten Prozess zum Beenden aus. Dies wird die Leistung des Systems beeinträchtigen.

Nun, die Chancen stehen gut, dass Sie den gesamten Arbeitsspeicher nie vollständig aufbrauchen. Um auf der sicheren Seite zu sein, lohnt es sich jedoch, ein wenig Swap-Space zu haben. Stellen Sie sich den Tauschraum als Sicherheitsboot in einer Yacht vor. Im unwahrscheinlichen Fall, dass die Yacht Feuer fängt, können Sie damit in Sicherheit segeln.

Hier stellt sich die große Frage: Wie viel Swap-Speicherplatz muss ich erstellen? Um ehrlich zu sein, es gibt keine eindeutige Antwort auf diese Frage, sondern nur Empfehlungen. RedHats Vorschlag, empfiehlt die Erstellung von Auslagerungsspeicher, der 20 % des physischen Arbeitsspeichers ausmacht, der auf einem Linux-System installiert ist. Dies kann jedoch je nach Größe des Arbeitsspeichers und des Betriebssystems unterschiedlich sein.

Für example, CentOS empfiehlt Folgendes:

  1. Wenn der Arbeitsspeicher weniger als 2 GB beträgt, sollte der Auslagerungsspeicher doppelt so groß sein wie der Arbeitsspeicher.
  2. Wenn der Arbeitsspeicher mehr als 2 GB beträgt, dann Auslagerungsbereich = 2 + RAM-Größe. Für example, Wenn der Arbeitsspeicher 4 GB beträgt, sollte der Auslagerungsspeicher 6 GB betragen.

Bei Ubuntu ist das etwas anders

  1. Wenn der Arbeitsspeicher weniger als 1 GB beträgt, sollte der Auslagerungsspeicher gleich oder doppelt so groß sein wie der Arbeitsspeicher.
  2. Andernfalls, wenn der Arbeitsspeicher mehr als 1 GB beträgt, sollte der Swap-Speicher gleich der Quadratwurzel des Arbeitsspeichers sein.

In Ruhezustand, Swap-Speicherplatz ist gerade deshalb wichtig, weil er den Zustand des RAM bewahrt, indem er den Inhalt des RAM auf die Swap-Partition überträgt. Daher wird empfohlen, die Swap-Größe auf die Größe des Arbeitsspeichers einzustellen. Wenn Sie also über 8 GB RAM verfügen, würde eine Auslagerungsdatei von 8 GB ausreichen.

Fazit

Wir können nicht mehr betonen, wie wichtig es ist, Swap-Speicher auf Ihrem System zu haben. Es ist praktisch, wenn der Hauptspeicher knapp wird, und hilft Ihnen, schwere Anwendungen wie Videobearbeitungssoftware zu handhaben. Egal wie groß die RAM-Kapazität Ihres Linux-Systems ist, es wird immer empfohlen, Swap für unvorhergesehene Ereignisse zu konfigurieren.

Wir hoffen, dass Sie jetzt bequem eine Auslagerungsdatei auf Ihrem Linux-System erstellen und aktivieren können. Ihr Feedback zu diesem Leitfaden wird sehr geschätzt.