Tipp: zramswap verwenden: Unterschied zwischen den Versionen
K (→Für Mutige) |
K |
||
Zeile 8: | Zeile 8: | ||
{{Warnung|'''Suspend to Disk Funktioniert nur mit einem swapbereich auf der Festplatte'''}} | {{Warnung|'''Suspend to Disk Funktioniert nur mit einem swapbereich auf der Festplatte'''}} | ||
{{Achtung|'''Wer also nicht auf suspend to disk verzichten möchte oder kann, sollte hier abbrechen, da es nicht mehr funktionieren kann!'''}} | {{Achtung|'''Wer also nicht auf suspend to disk verzichten möchte oder kann, sollte hier abbrechen, da es nicht mehr funktionieren kann!'''}} | ||
− | {{Hinweis|'''Bei | + | {{Hinweis|'''Bei Verwendung einer SSD ist dieser Tipp sinnvoll, da ohnehin S2DISK deaktiviert wird um das Gerät zu schonen.'''}} |
{{Warnung|'''Das anwenden aller hier niedergeschriebenen Modifikationen geschieht auf eigene Gefahr. Ich übernehme keine Verantwortung für etwäige Probleme die durch die Verwendung dieser Tipps entstehen könnten!'''}} | {{Warnung|'''Das anwenden aller hier niedergeschriebenen Modifikationen geschieht auf eigene Gefahr. Ich übernehme keine Verantwortung für etwäige Probleme die durch die Verwendung dieser Tipps entstehen könnten!'''}} | ||
==Paket herunterladen== | ==Paket herunterladen== | ||
Zeile 24: | Zeile 24: | ||
<blockquote><pre style="background-color: #D4FFEF">/usr/lib/systemd/scripts/zramctrl</pre></blockquote> | <blockquote><pre style="background-color: #D4FFEF">/usr/lib/systemd/scripts/zramctrl</pre></blockquote> | ||
− | 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 | + | 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 verwenden. Dafür ändere ich folgenden Wert wie beschrieben auf den Faktor 256 (Diesen habe ich ausgerechnet): |
<pre style="background-color: #FFFFC0">mem_total = (0 + $2) * 256</pre> | <pre style="background-color: #FFFFC0">mem_total = (0 + $2) * 256</pre> | ||
{{Hinweis|'''256 entspricht ca. 508348 KiB mal 4 Kerne ist ca. 2 GIB, ausgehend von 8 GiB RAM.'''}} | {{Hinweis|'''256 entspricht ca. 508348 KiB mal 4 Kerne ist ca. 2 GIB, ausgehend von 8 GiB RAM.'''}} | ||
==Dienst aktivieren== | ==Dienst aktivieren== | ||
− | {{Hinweis|'''Das geschieht bei systemd mit der | + | {{Hinweis|'''Das geschieht bei systemd mit der Verwendung des zubehörigen Tools:''}} |
<blockquote> | <blockquote> | ||
'''Prozess starten''' | '''Prozess starten''' | ||
Zeile 52: | Zeile 52: | ||
==Für Mutige== | ==Für Mutige== | ||
− | Der Kernel wird bei | + | Der Kernel wird bei Verwendung von 'zramswap' 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.'''}} | {{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 | + | Wer jetzt sagt, sein Gerät hat genug Speicher und benötigt deswegen keinen SWAP mehr '''auf der Festplatte''', sondern nur noch im RAM, kann SWAP in der fstab auskommentieren. |
− | {{Hinweis|'''Bei meinem Computer mit 8 GiB RAM ist das einwandfrei möglich. Getestet: 3 verschiedene VM´s gleichzeitig (Virtualbox insg. 6 GiB zugewiesener Speicher) -- dazu Webbrowser im RAM mit | + | {{Hinweis|'''Bei meinem Computer mit 8 GiB RAM ist das einwandfrei möglich. Getestet: 3 verschiedene VM´s gleichzeitig (Virtualbox insg. 6 GiB zugewiesener Speicher) -- dazu Webbrowser im RAM mit Profile Sync Daemon, Office E-mail auf KDE, bissl Desktopcube drehen, es wurden gerade mal 300 KIB in das virtuelle Laufwerk geswappt. Also passt schon.'''}} |
=Quellen/Links:= | =Quellen/Links:= |
Version vom 16. September 2015, 11:40 Uhr
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. |
Inhaltsverzeichnis
Vorwort
Zramswap ist ein Skript und ermöglicht es, komprimierten swap Bereich im RAM zu erstellen. Quasi swap als RAM-Laufwerk. Er erstellt pro CPU automatisch einen Bereich. 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:
- Dokumentation zu zram: https://www.kernel.org/doc/Documentation/blockdev/zram.txt
- Idee zum Howto aus: https://wiki.archlinux.org/index.php/Maximizing_performance#Zram_or_zswap
Es ist wichtig, abzuwägen ob der Skript am eigenen System verwendet werden kann.
|
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:
rpm -Uhv 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 verwenden. 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, ausgehend von 8 GiB RAM. |
Dienst aktivieren
'Das geschieht bei systemd mit der Verwendung des zubehörigen Tools: |
Prozess starten
systemctl start zramswapAutostart an
systemctl enable zramswapStatus 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
Der Kernel wird bei Verwendung von 'zramswap' erst auf die Festplatte auslagern, wenn er vollgelaufen ist. Wer also ganz mutig ist, kann noch folgendes tun:
|
Wer jetzt sagt, sein Gerät hat genug Speicher und benötigt deswegen keinen SWAP mehr auf der Festplatte, sondern nur noch 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 (Virtualbox insg. 6 GiB zugewiesener Speicher) -- dazu Webbrowser im RAM mit Profile Sync Daemon, Office E-mail auf KDE, bissl Desktopcube drehen, es wurden gerade mal 300 KIB in das virtuelle Laufwerk geswappt. Also passt schon. |
Quellen/Links:
- 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
Navi: | Zurück zum Guide |