Tipp: zramswap verwenden

Aus Linupedia.org
Wechseln zu: Navigation, Suche
Höhe=24px
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist.

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:

Es ist wichtig, darauf zu achten ob der Skript am eigenen System verwendet werden kann. Also bitte beachten:

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.
Warnung
'Alle hier niedergeschriebenen Modifikationen enstehen auf eigene Gefahr. Ich übernehme keine Verantwortung für etwaige Probleme die durch die Verwendung dieser Tipps entstehen könnten!'

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 beschrieben auf den Faktor 256 (Diesen habe ich ausgerechnet):

mem_total = (0 + $2) * 256
256 entspricht ca. 508348 KiB mal 4 Kerne ist ca. 2 GIB.

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

zramswap wird erst auf die Festplatte auslagern, wenn er vollgelaufen ist. Wer also ganz mutig ist, kann noch folgendes tun:

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:


Navi: Zurück zum Guide