Einführung
In diesem Artikel erfahren Sie, wie Sie eine Auslagerungsdatei erstellen. Eine Auslagerungsdatei ist in Fällen nützlich, in denen Ihr Cloud-Server nicht über genügend Speicher verfügt, um die ausgeführten Aufgaben oder Prozesse auszuführen. Dies kann dazu führen, dass Ihr Server Prozesse beendet, um Speicher freizugeben, von denen einige wichtig sein können, wie z. B. eine Datenbank oder ein Webserver!
Eine Auslagerungsdatei kann Ihnen helfen, diese Probleme zu vermeiden, indem Festplattenspeicher als virtueller Speicher verwendet wird, wenn normaler Speicher nicht sofort verfügbar ist.
Hinzufügen einer Auslagerungsdatei unter Ubuntu 20.04
Wir müssen zuerst sicherstellen, dass keine aktuelle Auslagerungsdatei verwendet wird. Der einfachste Weg, dies festzustellen, ist die Ausführung des folgenden Befehls:
free -m
Ausgabe:
total used free shared buffers cached Mem: 3834 3448 385 681 173 1424
Die Ausgabe zeigt uns, wie viel Speicher das System hat und wie viel, falls vorhanden, der Swap konfiguriert wurde. In diesem Fall wurde der Server gerade bereitgestellt und es wurde kein Swap konfiguriert.
Im nächsten Schritt wählen wir die Menge an Speicherplatz aus, die dem Austausch zugewiesen werden soll. Dies kann durch den folgenden Befehl erreicht werden:
dd if=/dev/zero of=/swapfile bs=1024 count=2048k
In diesem Beispiel erstellen wir eine 2-GB-Auslagerungsdatei. Es gibt 1024 Megabyte in 1 Gigabyte, also werde ich 2048k als Zählwert verwenden, um 2 GB zu erreichen.
HINWEIS :Vergessen Sie nicht, das „k“ am Ende einzufügen, sonst erstellen Sie tatsächlich eine 2-Megabyte-Auslagerungsdatei! Dies liegt daran, dass die Bytegröße mit dem im Zählblock angegebenen Betrag multipliziert wird.
Nun müssen wir die soeben erstellte Auslagerungsdatei dem Betriebssystem zuweisen:
mkswap /swapfile
mkswap /swapfile
Aktivieren Sie die Auslagerungsdatei und überprüfen Sie, ob sie zugewiesen ist:
swapon /swapfile free -m
Ausgabe:
total used free shared buffers cached Mem: 3834 3448 385 681 173 1424 Swap: 2017 0 2017 The output of “free -m” should now show the amount you configured for swap. Next, we need to configure the system to enable the swap file every time the server boots. Otherwise, you would need to manually enable it every time you reboot the server using the “swapon /swapfile” command. To accomplish this we will need to edit the /etc/fstab file using a text editor of your choice. Add the following line to the end of the file:
/swapfile none swap sw 0 0
/swapfile keine Swap sw 0 0
Sobald dies abgeschlossen ist, speichern Sie Ihre Änderungen und schließen Sie die Datei.
Nachdem dies abgeschlossen ist, müssen Sie noch die „Swapiness“ einstellen. Standardmäßig haben die meisten Linux-Bereitstellungen eine Auslagerungsrate von 60. Dies bedeutet, dass die Auslagerungsdatei verwendet wird, wenn 40 % des RAM verwendet und 60 % nicht verwendet werden. Da unsere Cloud-Server alle auf SSD laufen, ist unsere Standardauslagerung auf 0 gesetzt. Das bedeutet, wenn 100 % des gesamten Arbeitsspeichers verwendet werden, dann und nur dann wird die Auslagerungsdatei verwendet.
Führen Sie den Befehl aus:
nano /etc/sysctl.conf
Dann ändern oder ergänzen Sie diese Zeile:
vm.swappiness = 10
Wenn Sie einen etwas höheren Swap benötigen, können Sie mit dieser Zahl spielen. Versuchen Sie, nicht höher als 20 oder 30 zu gehen. Wir empfehlen aus mehreren Gründen, die Swapiness niedrig einzustellen. Der erste Grund, warum wir eine niedrige Auslagerungsrate empfehlen, ist, dass eine zu aggressive Verwendung die Lebensdauer der SSDs verkürzt. Der andere Grund ist, dass das System die Auslagerungsdatei zu oft verwendet, wenn die Auslagerung zu hoch eingestellt ist. Dies kann zu Eingabe-/Ausgabekonflikten des Systems führen, da der Server zu sehr damit beschäftigt ist, Dinge in die und aus der Auslagerungsdatei zu verschieben, anstatt den Arbeitsspeicher richtig zu verwenden. Gelegentlich kann dies den Server stärker verlangsamen als ein Mangel an RAM.
Anschließend müssen Sie die Auslagerungsdatei neu starten, damit die neuen Einstellungen wirksam werden. Sie können entweder den Server neu starten oder Folgendes ausführen:
swapoff -a
und
swapon -a
Das ist es! Sie haben jetzt eine dauerhafte Auslagerungsdatei für Ihren Cloud-Server.
*Hinweis – Diese Befehle funktionieren auch in einer CentOS-Bereitstellung*