Bei Laptops mit weniger Arbeitsspeicher kann Zram Wunder bewirken. Zram erstellt einen komprimierten Arbeitsspeicher. Wenn man will, dass sich ZRam perfekt in Systemd integriert, ist Systemd-Zram ein guter Fork, der sich auch sehr einfach unter Arch (AUR) und unter Debian, Ubuntu etc. installieren lässt.
Installation
Installation unter ArchLinux
Die Installation erfolgt unter Arch am Besten mithilfe des AURs, kann allerdings auch manueller erfolgen Click!. Ich will hier allerdings nur die Installation mithilfe des AURs beschreiben. (Ohne AUR-Helfer, wie z.B. yay oder trizen)
mkdir -p ~/aur && cd ~/aur
git clone https://aur.archlinux.org/systemd-zram.git && cd systemd-zram
Nun erfolgt das Bauen des Paketes:
makepkg -s
Danach kann mit su in den Root-Account gewechselt werden und das Paket mit folgendem Befehl installiert werden:
pacman -U $PWD/systemd-zram-*.pkg.tar.zst
Dieser Schritt weicht natürlich ab, wenn man sudo installiert hat oder su
als Alias su -l
hat. Aber dann sollte man auch wissen, wie man das macht.
WICHTIG: Bei der Installation über das AUR wird man (genauso wie bei allen folgenden Methoden) nicht automatisch über Updates informiert!!
Installation unter Debian
Unter Debian, Ubuntu etc. kann systemd-zram auch installiert werden.
Man klont das Git-Repo (git clone https://github.com/mdomlop/systemd-zram.git
) und führt danach folgende Befehle aus:
make debian_pkg
sudo dpkg -i systemd-zram_*.deb
Installation unter anderen Systemen
Die Installation kann natürlich auch mithilfe des klassischen make
&& make install
erfolgen.
Benutzung
Der Service kann wie gewohnt mit
systemctl enable systemd-zram --now
aktiviert werden und mit systemctl
gestartet bzw. beendet werden.
Wie gesagt, komprimiert zRam einen Teil des Arbeitsspeichers und erledigt dies mit unterschiedlichen Algorithmen. Der aktuell verwendete Algorithmus wird, wird durch den Inhalt der Datei /sys/block/zram0/comp_algorithm angezeigt. In dieser stehen auch alle anderen möglichen Algorithmen.
cat /sys/block/zram0/comp_algorithm
ergibt dann zum Beispiel
[lzo] lzo-rle lz4 lz4hc 842 zstd
Der aktuell verwendete Algorithmus steht also in [] und ist im Moment lzo. Einen Vergleich der möglichen Algorithmen findet man unter https://github.com/mavam/compbench.
Einen anderen Algorithmus kann man in der Datei /lib/systemd/system/systemd-zram.service einstellen - dort muss der Wert Environment=COMP_ALGORITHM=lzo angepasst werden.
Wann nützt zRam?
Wenn man 64GB RAM hat, bringt zRAM wahrscheinlich keinen großen, merkbaren Unterschied. Je weniger RAM man aber hat, umso größer sind die Vorteile von zRAM. Allerdings kann zRAM auch bei viel Arbeitsspeicher Vorteile bringen, wenn man zum Beispiel gerade sehr arbeitsspeicherintensive Sachen wie Virtualisierung macht.
Mehr Swap?
Wenn man zRAM nutzt, wird dieser als Swap-Speicher angezeigt, weshalb man auch mithilfe von
swapon -s
überprüfen kann, ob der zRAM aktiviert ist. Den “alten” Swap jedoch nicht entfernen, er wird zum Beispiel noch für den Ruhezustand benutzt!