Auslagerung des Arbeitsspeichers bestimmen

Unter Linux gibt es eine eigene Partition zum auslagern des Arbeitsspeichers, diese nennt sich swap, was so viel wie auslagern oder Austausch bedeutet. Diese Partition ist dazu gedacht dem System eine Möglichkeit zu geben wenig genutzte pages (zu dt. Seiten) im Arbeitsspeicher auf die Swap auszulagern, so dass der RAM für häufig verwendete pages frei bleibt.

Nun ist es so, dass dies nicht nur im Notfall, also wenn der RAM voll ist, sondern auch „zwischendurch“ geschieht. Das bringt auf Systemen die viele Prozesse am laufen haben, welche eher selten auf den RAM zugreifen den Vorteil, dass der RAM für neue evtl. häufig genutzte pages frei bleibt und so eventuelles Tauschen von SWAP auf RAM entfällt.

Das schöne ist, dass man dem Kernel sagen kann wie er sich verhalten soll, also ob er nur im Notfall auslagern soll oder ständig.
Dies kann man über folgendem Parameter festlegen:

vm.swappines = [WERT]

Man kann dort einen Wert von 0 bis 100 eintragen. 0 bedeutet so viel wie: Alles im RAM behalten und 100 „aggressiv“ auslagern.

Was der optimale Wert für dein System ist kann man nicht so einfach sagen. Dies muss man schlicht ausprobieren.
Setzen kann man den Parameter temporär mit:

sysctl vm.swappiness=[WERT]

und um ihn permanent zu übernehmen muss der Parameter vm.swappiness=[WERT] in die Datei /etc/sysctl.conf hinzugefügt werden.
Nachsehen ob alles geklappt hat kann man mit sysctl -a | grep vm.

Wie bereits gesagt gibt es keinen optimalen Wert. Wenn man allerdings ein voll verschlüsseltes System betreibt, wobei die swap ebenfalls verschlüsselt ist, dann tendiere ich dazu den Wert auf 0 zu setzen, weil Festplatten so schon langsam sind, aber verschlüsselt sind sie nochmal langsamer, somit ist ein Zugriff auf die Swap noch langwieriger. Im Endeffekt muss man es einfach ausprobieren, aber ein passender Wert kann durchaus einen Performance-boost bringen.

Über sysctl kann man noch viele viele andere Parameter setzen, wenn man allerdings nicht weiß was sie bedeuten, dann lieber die Finger davon lassen 🙂

Ein Gedanke zu „Auslagerung des Arbeitsspeichers bestimmen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.