Vor ein paar Wochen habe ich gepostet
Nach der Installation des Raspberry Pi in Ihrem
ZRAM auf Raspberry Pi aktivieren
Der Raspberry Pi 4 ist mit 1, 2, 4 oder 8 GB RAM ausgestattet. Ich werde das 1-GB-Modell verwenden. Bitte passen Sie die Anweisungen entsprechend Ihrem Modell an. Bei 1 GB ZRAM wird die Standard-Auslagerungsdatei (langsam!) seltener verwendet. Ich habe dieses Skript verwendet
Anweisungen finden Sie im oben verlinkten Repository. Installation:
git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.sh
Wenn Sie die Konfiguration bearbeiten möchten:
vi /etc/default/zram-swap
Darüber hinaus können Sie ZRAM durch die Installation aktivieren zram-tools
. Wenn Sie diese Methode verwenden, müssen Sie unbedingt die Konfiguration bearbeiten im Ordner /etc/default/zramswap
, und installieren Sie etwa 1 GB ZRAM:
sudo apt install zram-tools
Nach der Installation können Sie die ZRAM-Speicherstatistiken mit dem folgenden Befehl anzeigen:
sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 265472 5
pi@raspberrypi:~ $
Hinzufügen von Kernel-Parametern zur besseren Nutzung von ZRAM
Beheben wir nun das Verhalten des Systems, wenn der Raspberry Pi im letzten Moment auf Swapping umschaltet, was oft zu Einfrierungen führt. Fügen wir der Datei ein paar Zeilen hinzu /etc/sysctl.conf und neu starten.
Diese Zeilen 1) wird die unvermeidliche Erschöpfung des Gedächtnisses verzögern, was den Druck auf den Kernel-Cache erhöht und 2) Sie bereiten sich früher auf eine Gedächtniserschöpfung vor, wodurch der Austausch im Voraus eingeleitet wird. Aber es wird viel effizienter sein, komprimierten Speicher über ZRAM auszutauschen!
Hier sind die Zeilen, die am Ende der Datei hinzugefügt werden sollen /etc/sysctl.conf:
vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50
Anschließend starten wir das System neu oder aktivieren die Änderungen mit folgendem Befehl:
sudo sysctl --system
vm.vfs_cache_pression=500 erhöht den Cache-Druck, was die Tendenz des Kernels erhöht, Speicher zurückzugewinnen, der zum Zwischenspeichern von Verzeichnis- und Indexobjekten verwendet wird. Sie werden über einen längeren Zeitraum weniger Speicher verbrauchen. Der starke Leistungsabfall wird durch einen früheren Wechsel wieder aufgehoben.
vm.swappiness = 100 erhöht den Parameter, wie aggressiv der Kernel Speicherseiten austauscht, da wir zuerst ZRAM verwenden.
vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - Hintergrundprozesse beginnen sofort mit der Aufzeichnung, wenn die Grenze von 1 % erreicht wird, aber das System erzwingt keine synchrone E/A, bis das Dirty_Ratio von 50 % erreicht ist.
Diese vier Leitungen (bei Verwendung mit ZRAM) tragen dazu bei, die Leistung zu verbessern, falls dies der Fall ist unvermeidlich Der RAM geht zur Neige und der Übergang zum Swap beginnt, wie bei mir. Wenn man diese Tatsache kennt und auch die Speicherkomprimierung im ZRAM um das Dreifache berücksichtigt, ist es besser, diesen Austausch im Voraus zu starten.
Es hilft, Druck auf den Cache auszuüben, weil wir dem Kernel im Wesentlichen sagen: „Hey, ich habe keinen zusätzlichen Speicher für den Cache, also entfernen Sie ihn bitte so schnell wie möglich und speichern Sie nur die am häufigsten verwendeten/wichtigsten.“ Daten."
Selbst bei reduziertem Caching beginnt der Kernel viel früher mit dem opportunistischen Auslagern, wenn im Laufe der Zeit der größte Teil des installierten Speichers belegt ist, sodass CPU (Komprimierung) und Auslagerungs-E/A nicht bis zur letzten Minute warten und dann alle Ressourcen auf einmal verbrauchen es ist zu spät. ZRAM beansprucht ein wenig CPU für die Komprimierung, hat aber auf den meisten Systemen mit wenig Speicher viel weniger Auswirkungen auf die Leistung als Swap ohne ZRAM.
Abschließend
Schauen wir uns das Ergebnis noch einmal an:
pi@raspberrypi:~ $ free -h
total used free shared buff/cache available
Mem: 926Mi 471Mi 68Mi 168Mi 385Mi 232Mi
Swap: 1.2Gi 258Mi 999Mi
pi@raspberrypi:~ $ sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 264448 5
264448 im ZRAM entspricht fast einem Gigabyte unkomprimierter Daten. Alles ging an ZRAM und nichts ging an die viel langsamere Auslagerungsdatei. Probieren Sie diese Einstellungen selbst aus, sie funktionieren auf allen Raspberry Pi-Modellen. Aus meinem unbrauchbaren Gefriersystem ist ein funktionsfähiges und stabiles System geworden.
Ich hoffe, diesen Artikel in naher Zukunft fortzusetzen und mit einigen Ergebnissen aus dem Testen des Systems vor und nach der Installation von ZRAM zu aktualisieren. Jetzt habe ich einfach keine Zeit dafür. Führen Sie in der Zwischenzeit gerne Ihre eigenen Tests durch und lassen Sie es mich in den Kommentaren wissen. Der Raspberry Pi 4 ist mit diesen Einstellungen ein Biest. Genießen!
Zum Thema:
Source: habr.com