Installation, Konfiguration und Verwaltung von zram auf SUSE Linux Micro
Auf dieser Seite
SUSE Linux und anderen
Installation, Konfiguration und Verwaltung von zram auf SUSE Linux und anderen
WAS?
zram ist ein Kernel-Modul, das ein komprimiertes Blockgerät im RAM erstellt.
WARUM?
In diesem Artikel wird beschrieben, wie zram unter SUSE Linux installiert und konfiguriert wird.
AUFWAND
Es dauert ungefähr 15 Minuten, um den Artikel zu lesen.
ZIEL
Sie haben Blockgeräte im RAM konfiguriert.
ANFORDERUNGEN
Ausgeführte und registrierte Instanz von SUSE Linux Micro.
Versionsgeschichte: Installation, Konfiguration und Verwaltung von zram auf SUSE Linux Micro
1 Was ist zram?
zram ist ein Kernel-Modul, das ein komprimiertes Blockgerät im RAM erstellt. Das Blockgerät kann als RAM-Disk (in der Regel zum Speichern temporärer Dateien) oder zum Swappen verwendet werden.
1.1 Vorteile von zram
Die Verwendung von zram kann folgende Vorteile haben:
Schnelle E/A-Operationen: Aufgrund der RAM-basierten Natur von zram bieten Blockgeräte einen sehr schnellen Zugriff auf Daten.
Speichereinsparung: Da die Daten mit zram komprimiert werden, kann ziemlich viel Speicherplatz eingespart werden. Somit nutzt zram den Arbeitsspeicher effizient und eignet sich besonders für Umgebungen mit geringer RAM-Größe, z. B. eingebettete Systeme.
Dateisystem auf dem Blockgerät: Sie können Dateisysteme auf den Blockgeräten erstellen.
1.2 Einschränkungen von zram
Der Ruhezustand auf zram swap wird nicht unterstützt, selbst wenn Sie ein Sicherungsgerät auf permanentem Speicher konfigurieren.
2 Einrichten von zram
Zum ordnungsgemäßen Einrichten von zram auf Ihrem System führen Sie die folgenden Schritte aus. Einzelheiten finden Sie in den folgenden Abschnitten.
Installieren Sie das Dienstprogramm zram-generator, das das RAM-Blockgerät gemäß der bereitgestellten Konfiguration erstellt. Weitere Informationen zur Installation finden Sie in Abschnitt 2.1, „Installieren von zram-Paketen“.
Bereiten Sie die Konfiguration wie in Abschnitt 2.2, „Erforderliche Konfiguration für zram“ beschrieben vor.
Führen Sie Kommandos aus, um neue Geräteeinheiten zu erstellen, wie in Abschnitt 2.3, „Erstellen von Geräteeinheiten“ beschrieben.
Starten Sie Ihren Rechner neu.
Stellen Sie sicher, dass alles ordnungsgemäß funktioniert. Führen Sie das Kommando zramctl aus, das eine Ausgabe ähnlich der folgenden erzeugen sollte:
sudozramctl
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram1 lzo-rle 96.6M 4K 79B 12K 1 [SWAP]
/dev/zram0 lzo-rle 483M 4K 79B 12K 1 [SWAP]
Copy
2.1 Installieren von zram-Paketen
Das Paket zram-generator ist unter SUSE Linux Micro nicht standardmäßig verfügbar. Installieren Sie das Paket :
sudo
transactional-update pkg install zram-generator
Copy
Starten Sie das System nach erfolgreicher Installation neu.
2.2 Erforderliche Konfiguration für zram
Die Hauptkonfigurationsdatei von zram ist /etc/systemd/zram-generator.conf. Sie können jedoch ein Verzeichnis /etc/systemd/zram-generator.conf.d/ mit einer Reihe von Drop-In-Dateien erstellen, die Einträge in der Hauptkonfigurationsdatei überschreiben können.
2.2.1 Die /etc/systemd/zram-generator.conf-Datei
Die Datei wird nicht zusammen mit dem zram-generator-Paket installiert, daher müssen Sie Ihre eigene Datei schreiben. Die hinzuzufügenden Optionen werden im Folgenden beschrieben. Ein Beispiel hierzu finden Sie in Abschnitt 2.2.1.1, „Ein Beispiel für /etc/systemd/zram-generator.conf“.
Definieren Sie mindestens ein zram-Gerät. Die Nummerierung beginnt bei 0. Wenn Sie also ein zram-Gerät definieren möchten, fügen Sie der Konfigurationsdatei einen Abschnitt [zram0] hinzu.
Unter dem Abschnitt „zram-Gerät“ können Sie folgende Einträge definieren:
host-memory-limit
Geben Sie die maximale RAM-Größe des Hosts in MiB an, wenn ein Blockgerät erstellt werden kann. Wenn der Wert höher ist, wird das zram-Gerät nicht erstellt. Wenn nicht festgelegt oder auf none festgelegt, gibt es keine Begrenzung für den Host-RAM.
zram-size
Geben Sie die Größe des zram-Geräts im Vergleich zum Host-RAM an. Der Standardwert ist zram-size = min(ram / 10, RAM_HARD_LIMIT). Es ist ein Minimum von beidem, wobei ram die Host-RAM-Größe ist, die mit MemTotal abgerufen wurde.
ram ist die Gesamtmenge des Host-Speichers in MB.
ram/10 ist das Verhältnis des gesamten Host-Speichers, der für zram verwendet werden kann. Dem Beispiel zufolge kann zram 10 % des gesamten Host-Speichers verwenden. Wir empfehlen Anteile des Host-RAM im Bereich von 10 bis 50 %.
RAM_HARD_LIMIT ist die maximale Menge an RAM in MB, die von zram verwendet werden kann.
min() ist eine Funktion, die den Wert von RAM_HARD_LIMIT mit dem berechneten Verhältnis vergleicht und den niedrigeren Wert auswählt.
compression-algorithm
Geben Sie den Algorithmus an, der zum Komprimieren von Daten in zram verwendet wird. Sie können jeden beliebigen der folgenden Werte verwenden:
deflate: ein verlustfreies Dateiformat für die Datenkomprimierung
lz4 oder lz4hc: ein verlustfreier Datenkomprimierungsalgorithmus, der sich auf die Komprimierungs- und Dekomprimierungsgeschwindigkeit konzentriert
lzo-rle: ein verlustfreier Datenkomprimierungsalgorithmus, der sich auf die Dekomprimierungsgeschwindigkeit konzentriert
zstd alias Zstandard: ein verlustfreier Datenkomprimierungsalgorithmus, vergleichbar mit DEFLATE mit dem Kompressionsverhältnis, aber schneller während der Dekomprimierung
842: ein Datenkomprimierungsalgorithmus
Wenn nicht angegeben, wird der Kernel-Standard verwendet (normalerweise LZO-RLE).
Optionen
Geben Sie Optionen für Auslagerungs- oder Bereitstellungsoptionen für eine RAM-Disk an. Wenn diese Option auf discard festgelegt oder nicht angegeben ist, werden die nicht verwendeten komprimierten Seiten während des Systemlaufs gekürzt. Eine solche Lösung bietet ein effizientes zram-Management. Um den Standardwert (discard) zu überschreiben, lassen Sie den Wert leer:
options =
Copy
writeback-device
Geben Sie ein Gerät an, auf dem nicht komprimierbare Seiten gespeichert werden sollen. Diese Seiten werden dann aus zram entfernt.
fs-type
Wenn das Gerät als Datenträger verwendet wird, geben Sie das Dateisystem an, das dort verwendet werden soll. Beispiel: ext4.
mount-point
Geben Sie ein Verzeichnis an, in dem das Dateisystem eingehängt werden soll. Diese Option wird nicht verwendet, wenn das zram-Gerät für den Austausch verwendet wird.
2.2.1.1 Ein Beispiel für /etc/systemd/zram-generator.conf
Im folgenden Beispiel werden zwei Blockgeräte im RAM erstellt – zram0 für Swap und zram1 mit dem ext4-Dateisystem. Wenn der Rechner über mehr als 9 GB RAM verfügt, wird zram0 nicht erstellt. Jedes Blockgerät kann bis zu 2 GB RAM zuweisen.
[zram0]
host-memory-limit = 9048
zram-size = min(ram / 10, 2048)
compression-algorithm = lzo-rle
options = discard
writeback-device = /dev/zvol/tarta-zoot/swap-writeback
[zram1]
zram-size = ram / 10
fs-type = ext4
mount-point = /run/compressed-mount-point
Copy
2.3 Erstellen von Geräteeinheiten
Nachdem Sie die Konfiguration vorbereitet haben, erstellen und starten Sie die Geräte. Gehen Sie dazu wie folgt vor:
Erstellen Sie die zram-Geräteeinheiten, indem Sie folgendes Kommando ausführen:
sudo
systemctl daemon-reload
Copy
Starten Sie das Gerät:
sudosystemctl start DEVICE_NAMEDEVICE_NAME is the name you configured in
/etc/systemd/zram-generator.conf and it is in the format /dev/zramN
Copy
Um zu überprüfen, ob die Module gestartet wurden, führen Sie folgendes Kommando für jedes Gerät aus:
sudo
systemctl status DEVICE_NAME