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!