Tipp: zramswap verwenden: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
K (Vorwort)
K (Quellen/Links:)
Zeile 56: Zeile 56:
  
 
=Quellen/Links:=
 
=Quellen/Links:=
https://www.kernel.org/doc/Documentation/vm/zswap.txt
+
* https://www.kernel.org/doc/Documentation/blockdev/zram.txt
 +
* https://wiki.archlinux.org/index.php/Maximizing_performance#Zram_or_zswap
 +
* https://software.opensuse.org/package/zramswap?search_term=zramswap

Version vom 15. September 2015, 12:41 Uhr

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: