Wird in Linux nicht ausreichend RAM bereit gestellt, so besteht die Möglichkeit diesen mit eine Swap Partion zu erweitern. Zusärtlich kann man die Daten in dem Swap komprimieren.

Dazu instellieren wir zRAM-config.

sudo apt-get install zram-config

Der Dienst braucht ein Kernelmodul „zram“ und „lz4_compress“

sudo modprobe zram

Jetzt sollte das Modul geladen sein.

lsmod |grep zram

zram                   28672  4
lz4_compress           16384  1 zram

Sollte es nicht geladen werden können, weil das Kernel Modul nicht installiert ist, dann müssen noch die Extras installiert werden.

sudo apt-get install linux-modules-extra-`uname -r`

Nach einem Neustart sollte der Dienst ohne Fehler laufen.

sudo service zram-config status

oder

sudo systemctl status zram-config

Die Anzeige vom Swap sieht jetzt so aus.

sudo swapon --show

NAME       TYPE      SIZE USED PRIO
/dev/sda5  partition 510M   0B   -1
/dev/zram0 partition 124M 976K    5
/dev/zram1 partition 124M 972K    5
/dev/zram2 partition 124M 968K    5
/dev/zram3 partition 124M 972K    5

Mit dem Tool zramctl kann man sich die Einstellungen vom zRAM ansehen und ändern.

zramctl

NAME       ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram3 lzo-rle     478,4M   4K   73B   12K       4 [SWAP]
/dev/zram2 lzo-rle     478,4M   4K   73B   12K       4 [SWAP]
/dev/zram1 lzo-rle     478,4M   4K   73B   12K       4 [SWAP]
/dev/zram0 lzo-rle     478,4M   4K   73B   12K       4 [SWAP]

Man kann ein zRAM auch aus dem Swap entfernen.

sudo swapoff /dev/zram0

Die Größe vom zRAM nachträglich ändern.

zramctl --find --size 512M /dev/zram0

Ein Swap erstellen und hinzufügen.

sudo mkswap /dev/zram0
sudo swapon /dev/zram0

Oder es ist möglich eine RAM-Disk zu erzeugen.

sudo mkfs.ext4 -q /dev/zram0

Und als komprimiertes Verzeichnis unter /mnt/ einhängen.

sudo mount /dev/zram0 /mnt