Utilizați Zswap pentru a îmbunătăți performanța pe computerul Linux cu cantități mici de RAM

Verwenden Sie Zswap, um die Leistung auf Linux-PCs mit wenig RAM zu verbessern

⌛ Reading Time: 6 minutes

Seien wir ehrlich, einige von uns aktualisieren nicht so oft. Zumindest als Linux-Benutzer möchten wir unsere älteren Laptops / Computer neu verwenden. Viele Distributionen laufen bequem auf Systemen mit wenig RAM (Random Access Memory). Browser sind jedoch nicht so verzeihend und benötigen im Zuge der Entwicklung des Internets immer mehr Speicher.

Während ein System mit der LXDE-Desktop-Umgebung nach dem Start möglicherweise nur 150 MB RAM benötigt, verbraucht Chromium, Chrome oder Firefox schnell Hunderte von Megabyte und sogar mehrere Gigabyte RAM, wenn wir einige Registerkarten öffnen.

Und dann passiert es! Die Festplatte fängt an, dieses Schleifgeräusch zu erzeugen. Musik beginnt zu stottern. Wenn wir zu einer anderen Anwendung wechseln, dauert es einige zehn Sekunden, bis sie auf dem Bildschirm angezeigt wird. Sogar der Mauszeiger kann anfangen zu verzögern. Dies ist der Effekt von Festplatten-Thrashing.

Was ist Disk Thrashing?

Zuerst müssen wir Swap verstehen. Wenn uns der freie Arbeitsspeicher ausgeht, werden Anwendungsdaten, auf die das Betriebssystem lange Zeit nicht zugegriffen hat, in den Auslagerungsbereich verschoben. Dies ist häufig auf einem physischen Speichergerät der Fall. Auf diese Weise kann das Betriebssystem Speicherplatz freigeben, den ein Programm jetzt benötigt. Auf diese Weise kann ein Tab in unserem Browser, auf den wir in der letzten Stunde nicht zugegriffen haben, auf die Festplatte übertragen werden. Jetzt kann der GIMP-Bildeditor ausgeführt werden. Wenn wir es schließen und zu dieser alten Registerkarte zurückkehren, tauscht das Betriebssystem es zurück in den Speicher (liest es von der Festplatte und kopiert es zurück in den Arbeitsspeicher).

Dieser Mechanismus funktioniert gut, wenn kleine Datenmengen ausgetauscht werden. Wenn beispielsweise nur 2 GB RAM verfügbar sind und alle geöffneten Programme 4 GB benötigen, muss das Betriebssystem ständig ausgetauscht werden. Das ständige Verschieben von Daten von Speicher zu Festplatte, von Festplatte zu Speicher und wieder zurück ist sehr langsam, insbesondere bei Festplatten. In einer solchen Situation kann das Speichergerät Anforderungen nicht schnell genug erfüllen. Kurz gesagt, wenn es zu Festplatten-Thrashing kommt, werden die Dinge sehr langsam.

SSD-Laufwerke eignen sich hervorragend für den Austausch

Im Internet kursiert immer noch ein Mythos: „Richten Sie niemals einen Swap auf einer SSD ein. Es wird dein Gerät töten! ” Das war vor ein paar Jahren wahr, aber nicht mehr. Tatsächlich führt das Einrichten eines Austauschs auf einem SSD-Laufwerk zu hervorragenden Ergebnissen. Wenn der Computer ein SSD-Gerät mit einer guten zufälligen Lese- / Schreibleistung (mindestens 300 MB) enthält, richten Sie eine Swap-Partition darauf ein und ignorieren Sie den Rest dieses Artikels. Wenn das Betriebssystem 1 GB Daten austauschen muss, dauert es weniger als fünf Sekunden, während es auf einer Festplatte mehr als eine Minute dauern würde.

So reduzieren Sie das Festplatten-Thrashing unter Linux erheblich

zswap-meme-compress-ram

Glücklicherweise sind die meisten im RAM gespeicherten Daten sehr komprimierbar. Dies bedeutet, dass wir die Größe auf 100 MB reduzieren können, wenn wir 200 MB Daten im Speicher speichern und komprimieren. Folglich bedeutet dies, dass das System beim Auslagern viel weniger Daten auf die Festplatte schreiben muss.

Stellen Sie sich vor, anstatt dreißig Sekunden zu warten, um zu einem Programm zu wechseln, müssen Sie fünfzehn warten. Es ist eine spürbare Verbesserung. Tatsächlich ist die Beschleunigung jedoch viel bedeutender (möglicherweise müssen weniger als zehn Sekunden gewartet werden), da das von uns verwendete Tool ausgefeilter ist. Es sendet auf intelligente Weise nur die Teile und Teile an die Festplatte, die nicht komprimiert werden können, und hält den Rest in einem reservierten Teil des Speichers. Wenn Sie mehr über die Interna erfahren möchten, lesen Sie die offizielle Linux Kernel Seite über zswap.

Eine einfache Version der Vorteile, die wir durch die Verwendung von zswap erhalten, besteht darin, dass wir anstelle schrecklicher Verlangsamungen, wenn der Speicher knapp wird, tolerierbare, leichte Verlangsamungen erhalten, die Sekunden statt zehn Sekunden oder sogar Minuten dauern.

So aktivieren Sie zswap auf Debian-basierten Distributionen (Ubuntu, Linux Mint usw.)

Öffnen Sie eine Terminalanwendung und führen Sie diesen Befehl aus, um die Konfigurationsdatei der Grub-Bootloader-Vorlage zu bearbeiten:

zswap-edit-grub-template-config

Navigieren Sie mit den Cursortasten zu der Zeile, die mit „GRUB_CMDLINE_LINUX_DEFAULT“ beginnt. Fügen Sie in den Anführungszeichen den folgenden Text hinzu:

zswap-editing-grub-template-config-2

Zum Beispiel eine Zeile, die war GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" wird GRUB_CMDLINE_LINUX_DEFAULT="quiet splash zswap.enabled=1".

Drücken Sie, um die Datei zu speichern Strg + X., gefolgt von “y” und dann “Enter”.

Generieren Sie die neuen Grub-Konfigurationsdateien gemäß der zuvor bearbeiteten Vorlage:

zswap-update-grub-beendet

Starten Sie neu und das zswap-Modul wird automatisch aktiviert.

So aktivieren Sie zswap unter Fedora und OpenSUSE

Die Vorgehensweise hier ist ähnlich wie im vorherigen Abschnitt, jedoch mit einigen Wendungen. Bearbeiten Sie die Konfigurationsdatei der Grub-Vorlage.

Hinzufügen zswap.enabled=1 innerhalb der Anführungszeichen in der Zeile, die mit beginnt GRUB_CMDLINE_LINUX.

zswap-editing-grub-template-fedora

Drücken Sie Strg + X., gefolgt von “y” und dann “Enter”, um die Datei zu speichern.

Je nachdem, ob Ihr Computer von einem BIOS- oder UEFI-System startet, wird die Grub-Konfigurationsdatei in einem anderen Pfad generiert. Geben Sie den folgenden Befehl ein, um herauszufinden, wo es sich derzeit befindet:

zswap-find-grub-cfg-on-fedora

Verwenden Sie den Pfad, der hier im nächsten Befehl ausgegeben wird. In unserem Fall lautete der gefundene Pfad beispielsweise “/boot/grub2/grub.cfg”, sodass wir ihn am Ende des nächsten Befehls nach “-o” hinzufügen:

Starten Sie den Computer neu. Überprüfen Sie nach dem Neustart, ob das Modul aktiv ist:

Wenn der Ausgang “Y” ist, funktioniert das Modul ordnungsgemäß.

So aktivieren Sie zswap unter Arch Linux

Installieren Sie das systemd-swap-Paket:

zswap-pacman-install-systemd-swap

Lassen Sie dieses Paket beim Booten seine Magie entfalten:

Starten Sie es jetzt ohne Neustart:

Um zu überprüfen, ob alles wie erwartet funktioniert hat, überprüfen Sie, ob das zswap-Modul aktiviert ist:

zswap-enable-systemd-swap-service

Wenn der Ausgang “Y” ist, bedeutet dies, dass das Modul aktiv ist.

So aktivieren Sie zswap für verschiedene Distributionen

Im Allgemeinen ist das Aktivieren von zswap beim Booten so einfach wie das Hinzufügen zswap.enabled=1 zu Ihren Kernel-Parametern. Die meisten Distributionen verwenden standardmäßig Grub2 als Bootloader. Wenn Sie einen anderen Bootloader verwenden, suchen Sie die Konfigurationsdatei, in der die Kernelparameter gespeichert sind, die beim Booten übergeben und hinzugefügt werden sollen zswap.enabled=1 als zusätzlicher Parameter.

Ein weiterer Parameter, mit dem Sie spielen können, um herauszufinden, ob er die Leistung für Ihren speziellen Anwendungsfall verbessert, ist zswap.max_pool_percent=20. Sie können es anpassen, indem Sie die Nummer am Ende ändern: zum Beispiel zswap.max_pool_percent=50.

Fügen Sie es denselben Kernel-Parametern hinzu, die Sie hinzufügen zswap.enabled=1. Es wird empfohlen, 50% nicht zu überschreiten, da mehr als dies nachteilige Auswirkungen auf Systeme mit wenig RAM haben kann.

Fazit

Wenn Ihnen auf Ihrem alten System häufig der Arbeitsspeicher ausgeht und Sie die störenden Auswirkungen des Festplatten-Thrashing feststellen, werden Sie den Unterschied von nun an sofort bemerken und schätzen. Anstelle von schrecklichen Verlangsamungen tritt eine leichte, vorübergehende Verzögerung auf, die einige Sekunden (statt Minuten) dauert, wenn das Betriebssystem viele Daten auf die Festplatte übertragen muss. Sie können die Arbeit in Situationen fortsetzen, in denen Sie Ihren Computer während des Austauschs überhaupt nicht verwenden konnten.