Website-Suche

So erstellen Sie Auslagerungsdateien in Ubuntu und Mint


Eine Auslagerungsdatei ist eine spezielle Datei, die auf der Festplatte Ihres Computers erstellt wird und einen Teil des Speicherinhalts enthält. Wenn z. B. der Hauptspeicher langsam voll wird, kann es sein, dass der Computer einen Teil seines Speichers in den Auslagerungsbereich auf der Festplatte schreibt, der zwar viel langsamer als der Arbeitsspeicher ist, aber als zusätzlicher Speicher auf dem Computer arbeitet.

In diesem Tutorial lernen Sie:

  • So erkennen Sie, ob Ihr System wechselt oder nicht
  • Der Unterschied zwischen einer dedizierten Auslagerungspartition und einer Auslagerungsdatei
  • So erstellen Sie eine Auslagerungsdatei in Ubuntu und Linux Mint
  • So konfigurieren Sie die neue Auslagerungsdatei in /etc/fstab
  • Beispiel für das Einrichten einer Auslagerungsdatei

So erstellen Sie Auslagerungsdateien in Ubuntu und Mint

Verwendete Softwareanforderungen und Konventionen

Tauscht Ihr System aus?

Es gibt Vor- und Nachteile, wenn man eine Auslagerungsdatei verwendet (und anschließend nicht mehr über genügend Arbeitsspeicher verfügt).

Einer der Hauptvorteile besteht darin, dass das System, wenn es mehr Arbeitsspeicher verbraucht, als physisch im System vorhanden ist, Programme nicht halbzufällig beendet, damit andere Programme fortgesetzt werden können. Dieser Prozess des automatischen Beendens von Programmen wird als OOM (Out of Memory-Handler) bezeichnet und ist standardmäßig auf den meisten, wenn nicht sogar auf allen Linux-Systemen vorhanden.

Einer der Nachteile besteht darin, dass Ihr System, wenn es mit dem Auslagern beginnt, unerschwinglich langsam wird. Dies liegt daran, dass das System sehr regelmäßig, wenn nicht sogar ständig, versucht, Inhalte vom Hauptspeicher auf die Festplatte und umgekehrt auszulagern. Es ist sehr klar, wenn eine Maschine mit dem Tauschen beginnt. Es wird so langsam werden, dass es schwierig sein wird, Befehle auf der Befehlszeile auszugeben, oder Ihr Desktop wird wieder unerschwinglich langsam sein.

Beachten Sie, dass die Geschwindigkeit Ihres Desktops nicht unbedingt bedeutet, dass Ihr System ausgelagert wird. Es kann einfach (und meistens) sein, dass Ihre CPU, Ihr Festplattensubsystem oder die tatsächliche Festplatte nicht mit den Aufgaben Schritt hält, die Sie auf sie laden. Eine schnellere Festplatte (d. h. eine schnelle SSD oder NVMe) ist in solchen Fällen wahrscheinlich am hilfreichsten. Eine schnellere CPU kann auch funktionieren, aber beginnen Sie mit einer schnelleren Festplatte oder mehr RAM, wenn Sie derzeit mit 0,5-4 GB arbeiten. Versuchen Sie, mindestens 8 GB Arbeitsspeicher in einer vernünftigen Workstation zu haben.

Wie können Sie also feststellen, ob ein System leicht ausgetauscht werden kann? Es ist ganz einfach. Installieren Sie zuerst htop (sudo apt install htop) und starten Sie es dann (führen Sie einfach htop auf Ihrer Befehlszeile aus). Wenn für Arbeitsspeicher und Auslagerung Folgendes angezeigt wird:

D.h. ein voller Speicherbalken (Mem) und ein sich füllender Swap-Balken (Swp), wird Ihr System höchstwahrscheinlich auslagern. Sie werden auch feststellen, dass die CPU-Threads maximal ausgelastet oder zumindest ziemlich ausgelastet sind, obwohl dies möglicherweise nicht immer der Fall ist. Auf einem System, das nur langsam ist und nicht auslagert, kann der Arbeitsspeicher auch ziemlich hoch sein (wenn auch nicht voll, sagen wir bis zu 80-90%), und am wichtigsten ist, dass die Auslagerungsleiste 15-40% und nicht 70% verwendet wird (und im Laufe der Zeit nicht zunimmt).

Es ist in der Regel sehr klar. Langsame Reaktion, maximale CPU, maximaler Arbeitsspeicher, Füllung und großer Swap. Das System tauscht aus.

Eine dedizierte Auslagerungsbereichspartition im Vergleich zu einer Auslagerungsdatei

Bei der Installation Ihres Ubuntu- oder Mint-Systems haben Sie möglicherweise eine dedizierte Auslagerungsbereichspartition konfiguriert (oder das Installationsprogramm hat sie für Sie konfiguriert). Eine solche Partition ist für das Swapping bestimmt. Vielleicht ist es etwas schneller als die Verwendung einer Auslagerungsdatei, die nur eine normale Datei in Ihrem Verzeichnisbaum ist (und wahrscheinlich im Stammverzeichnis gespeichert wird), wenn sie sich auf derselben Festplatte wie das Betriebssystem befindet.

Wenn die Auslagerungspartition (oder Auslagerungsdatei) jedoch auf einer anderen Festplatte erstellt wurde, vielleicht sogar auf einer dedizierten, dann ist die Auslagerung erheblich schneller, insbesondere wenn das Laufwerk selbst schnell ist, wie ein schnelles NVMe- oder SSD-Laufwerk.

Persönlich war ich früher sehr engagiert darin, während der Installation des Betriebssystems eine beträchtliche dedizierte Swap-Space-Partition einzurichten. Jetzt neige ich dazu, stattdessen Auslagerungsdateien zu verwenden. Partitionen sind schwieriger zu handhaben, wenn Sie sie vergrößern möchten usw.

Auch eine dedizierte Festplatte für den Swap (sei es als Partition, die immer noch bevorzugt werden kann, oder als Swapfile) kann für einen Produktionsserver sinnvoll sein. Wenn der Server über 128 GB Arbeitsspeicher verfügt und wahrscheinlich nur 32 GB davon verwendet, wäre eine dedizierte Festplatte für den Swap nicht sinnvoll usw. Umgekehrt, wenn der Server über 16 GB Arbeitsspeicher verfügte und 20 stark ausgelastete MySQL-Server laufen werden, sollten wir den Speicher besser erweitern oder ausreichend Auslagerungsspeicher zuweisen, um ein viel wahrscheinlicheres Missgeschick bei der Speicherverwaltung zu vermeiden. Dennoch, wenn das Geld zur Verfügung steht, wäre in solchen Fällen eine Speichererweiterung auf jeden Fall zu empfehlen.

Wenn Sie daran interessiert sind, mehr über die Verwendung der Befehlszeile im Allgemeinen zu erfahren, können Sie unsere Artikel zu Linux-Subshells für Anfänger mit Beispielen und nützlichen Bash-Befehlszeilen-Tipps und -Tricks Beispiele Teil 1 lesen.

Einrichten einer Auslagerungsdatei über die Befehlszeile

Das Schöne am Erstellen von Auslagerungsdateien ist, dass es jederzeit möglich ist. Selbst wenn die Workstation oder der Server stark ausgelastet ist, kann eine Auslagerungsdatei erstellt und online geschaltet werden, und die Workstation (oder der Server) profitiert sofort davon. Wenn Sie das nächste Mal auf ein OOM (Out of Memory) oder in der Nähe eines OOM stoßen und viel Speicherplatz auf einem Schnelllaufwerk zur Verfügung haben, können Sie schnell eine Auslagerungsdatei konfigurieren, um die Speicherlast zu übernehmen.

In diesem Beispiel erstellen wir eine 10-Gigabyte-Auslagerungsdatei. Die Methode zur Berechnung der Anzahl der Blöcke, die wir erstellen müssen, bei 1024 Bytes pro Block ist: 10 Gb * 1000=10000 Megabyte * 1024=10240000 Blöcke mit jeweils 1024 Bytes.

Wir legen diese Auslagerungsdatei in das Verzeichnis / (root) und nennen sie swapfile001. Die folgenden Befehle müssen korrekt und sorgfältig in die Eingabeaufforderung der Konsole eingegeben werden, um sicherzustellen, dass auf dem Weg dorthin keine Befehle fehlschlagen.

Wenn der erste Befehl eine bereits vorhandene Auslagerungsdatei001-Datei zurückgeben soll, sollten Sie den Namen der neuen Auslagerungsdatei in einen eindeutigen Namen ändern, der noch nicht vorhanden ist. Verwenden Sie ls erneut, um zu überprüfen, ob der neu gewählte Name nicht vorhanden ist, bevor Sie fortfahren. Wenn für den ersten Befehl die Meldung 'ls: cannot access '/swapfile001': No such file or directory' zurückgegeben wird, bedeutet dies, dass swapfile001 noch nicht existiert und Sie mit den nächsten Schritten fortfahren können.

ls /swapfile001
sudo dd if=/dev/zero of=/swapfile001 bs=1024 count=10240000
sudo chmod 0600 /swapfile001
sudo mkswap /swapfile001
sudo swapon /swapfile001

Wenn Sie nun htop wieder öffnen, werden Sie feststellen, dass die Swap-Leiste weniger groß ist und dass der Swap-Speicherplatz insgesamt größer geworden ist.

Konfigurieren der neuen Auslagerungsdatei in /etc/fstab

Nachdem wir nun unsere neue Auslagerungsdatei erstellt haben, fügen wir sie zu /etc/fstab hinzu, um sicherzustellen, dass die Auslagerungsdatei beim Neustart wiederverwendet wird und wir den von ihr bereitgestellten Nutzen beibehalten.

Wenn Sie andererseits eine Auslagerungsdatei als temporäre Abdeckung für ein nahes OOM-Speicherereignis hinzugefügt haben, das wahrscheinlich nicht erneut auftritt, können Sie diesen Schritt überspringen und stattdessen sudo swapoff /swapfile001 ausgeben, wenn Sie die neue Auslagerungsdatei deaktivieren/deaktivieren möchten. Wenn Sie es ausschalten und auch die Auslagerungsdatei entfernen möchten, können Sie sudo rm /swapfile001 ausgeben, aber stellen Sie bitte sicher, dass die Datei tatsächlich nicht mehr verwendet wird. Fügen Sie die Datei in diesem Fall nicht zu /etc/fstab hinzu (d.h. wenn Sie sich entschieden haben, sie zu entfernen), da dies zu einem Neustart führen kann (Probleme beim Start).

Um die neue Auslagerungsdatei stattdessen zu /etc/fstab hinzuzufügen, können Sie sudo vi /etc/fstab oder sudo nano /etc/fstab (oder einen anderen Texteditor, den Sie bevorzugen) ausgeben und die folgende Zeile am Ende der Datei hinzufügen:

/swapfile001  swap  swap  defaults  0  0

Und speichern Sie die Datei. Alternativ können Sie auf Mint stattdessen die folgende Linie ausprobieren:

/swapfile001  none  swap  sw  0  0

Speichern Sie die Datei und starten Sie sie neu. Nach dem Neustart sollte die neue Auslagerungsdatei verwendet werden, und Sie können wieder htop verwenden, um die Gesamtgröße der Auslagerung zu bestätigen. Alternativ können Sie free -h auf Ihrer Befehlszeile verwenden, das in der letzten Zeile der Ausgabe Informationen über die Größe des Swaps gibt.

Schlussfolgerung

In diesem Artikel haben wir zunächst gelernt, wie Sie feststellen können, ob Ihr System tauscht oder nicht. Wir haben uns auch den Unterschied zwischen einer dedizierten Swap-Space-Partition und einer Swap-Datei angesehen. Dann haben wir untersucht, wie man eine Auslagerungsdatei unter Ubuntu und Linux Mint erstellt. Wir haben eine Beispiel-Auslagerungsdatei eingerichtet und aktiviert, und wir haben uns angesehen, wie wir die neue Auslagerungsdatei in /etc/fstab konfigurieren können! Viel Spaß mit Auslagerungsdateien!

Verwandte Artikel: