Vorwort
Zramswap ist ein Skript und ermöglicht es, komprimierten swap Bereich im RAM zu erstellen. Er erstellt pro CPU automatisch einen. Bei einem Quadcorce Prozessor, wären dies also 4 komprimierte laufwerke die hoch verfügbar im Arbeitsspeicher liegen und einen im Idealfall als Desktopbenutzer von der Festplatte lösen können. Das Skript bedient sich hierfür am zram Modul:
| Warnung
|
| 'Suspend to Disk Funktioniert nur mit einem swapbereich auf der Festplatte'
|
|
| Wer also nicht auf suspend to disk verzichten möchte oder kann, sollte hier abbrechen, da es nicht mehr funktionieren kann!
|
| Bei verwendung einer SSD ist dieser Tipp sinnvoll, da ohnehin S2DISK deaktiviert wird um das Gerät zu schonen.
|
Paket herunterladen
Es gibt im Buildservice glücklicher Weise ein RPM. Dies kann über die Softwaresuche gefunden werden:
https://software.opensuse.org/package/zramswap?search_term=zramswap
Paket installieren
Nachdem das Paket heruntergeladen wurde, kann es mit folgendem Befehl installiert werden:
zypper in zramswap-1-4.1.noarch
zramswap konfigurieren
| Wer die Standardeinstellungen verwenden möchte, kann diesen Abschnitt überspringen
|
Ich kenne nur diesen leider etwas komplizierten Weg:
Der Hauptskript muss für persönliche Einstellungen editiert werden. Diesen findet ihr hier:
/usr/lib/systemd/scripts/zramctrl
Vorhin habe ich angesprochen, dass pro CPU ein Auslagerungsbereich im RAM angelegt wird. Bei einem Computer mit 8 GiB RAM möchte ich dafür ca. 2 GiB vewenden. Dafür ändere ich folgenden Wert wie im beschrieben auf 256 MiB:
mem_total = (0 + $2) * 256
| 2 GiB swap sind also ca. 256 MiB mal 4 Kerne.
|
Dienst aktivieren
| 'Das geschieht bei systemd mit der verwendung des zubehörigen tools:
|
Prozess starten
systemctl start zramswap
Autostart an
systemctl enable zramswap
Status abfragen
systemctl status zramswap
| Die Statusabfrage sollte keine Fehlermeldungen beinhalten:
|
zramswap.service - Zram-based swap (compressed RAM block devices)
Loaded: loaded (/usr/lib/systemd/system/zramswap.service; enabled)
Active: active (exited) since Di 2015-09-15 10:37:07 CEST; 3h 34min ago
Process: 847 ExecStart=/usr/lib/systemd/scripts/zramctrl start (code=exited, status=0/SUCCESS)
Main PID: 847 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/zramswap.service
| 'Der Dienst ist jetzt gestartet und für den automatischen Start aktiviert.
|
Für Mutige
| Warnung
|
| 'Wenn der Computer zu wenig Speicher hat, kann es zu einem sog. Deadlock führen, wenn der Speicher voll ist.'
|
|
Wer jetzt sagt, sein Gerät hat genug Speicher und benötigt deswegen keinen SWAP mehr auf der Festplatte, sondern nurnoch im RAM, kann SWAP in der fstab auskommentieren.
| Bei meinem Computer mit 8 GiB RAM ist das einwandfrei möglich. Getestet: 3 verschiedene VM´s gleichzeitig auf KDE.
|
Quellen/Links:
https://www.kernel.org/doc/Documentation/vm/zswap.txt