Festplattenleistung

Festplatten für Linux im Leistungs-Check

Swappiness: Mehr oder weniger auslagern

Auslagerungsverhalten: Der Parameter „vm. swappiness“ in der Datei „/etc/sysctl.conf“ kann den Standardwert „60“ abändern. So ist etwa ein Wert von „80“ für eine Swap-Partition auf SSD geeignet.
Auslagerungsverhalten: Der Parameter „vm. swappiness“ in der Datei „/etc/sysctl.conf“ kann den Standardwert „60“ abändern. So ist etwa ein Wert von „80“ für eine Swap-Partition auf SSD geeignet.

Auch wenn der Rechner über mehr als genug RAM verfügt, kann man fest stellen, dass der Linux-Kerbel nach längerer Laufzeit Arbeitsspeicher in den vergleichsweise langsamen Swap-Bereich auf dem Datenträger auslagert. Die Swap-Nutzung lässt sich mit dem Kommandozeilen-Tool htop oder auch dem Befehl

free -m

kontrollieren. Das Verhalten des Kernels ist kein Nachteil, denn er lagert Speicher auch aus, um länger ungenutzte Speicherseiten aus dem wertvollen RAM zur eventuellen späteren Nutzung auf die langsamere Festplatte zu verlagern. Das frei gewordene RAM steht dann wieder dem System-Cache zur Verfügung. Wie aktiv der Kernel dabei von Swap Gebrauch macht, steuert der Parameter „Swappiness“, dessen Wert Sie sich mit

cat /proc/sys/vm/swappiness

anzeigen. Der Wert kann zwischen 10 und 100 festgelegt sein. Höher bedeutet, unbenutzter Speicher wird schneller ausgelagert. Linux-Distributionen arbeiten meist mit einem Standardwert von 60. Dies ist eine gute Balance für verbreitete Systeme, egal ob Server oder Desktop, mit mechanischer Festplatte. Der Wert ist aber nicht für alle Szenarien ideal, und es lohnt sich in vielen Fällen eine Anpassung der Swappiness nach folgenden Faustregeln:

Viel RAM und langsame Festplatte: Bei großen Reserven beim Arbeitsspeicher, etwa mit acht GB aufwärts, ist die Wahrscheinlichkeit gering, dass dem Kernel jemals der System-Cache ausgeht. Es empfiehlt sich ein geringer Wert für den Parameter Swappiness von „10“ und weniger.

Ausreichend RAM und schnelle SSD: In dieser Konstellation ist es von Vorteil, den Swappiness-Wert auf 80 bis 90 zu erhöhen, da die Latenz beim Wiedereinlesen von Speicherseiten im Swap auf einer SSD weniger stark ins Gewicht fällt. Der Kernel soll hier den System-Cache im RAM priorisieren.

Wenig RAM auf Desktop-PCs: Dies ist ein Sonderfall. Zwar ist der Standardwert von 60 hier ein gutes Gleichgewicht zwischen System-Cache für Dateizugriffe und Speicherseiten von Anwendungen. Wenn sich aber deutliche Verzögerungen in der Reaktion beim Umschalten zwischen Anwendungen bemerkbar machen, dann lagert der Kernel Anwendungs-Speicherseiten zu aggressiv aus. Hier ist dann eine schrittweise Reduzierung der Swappiness angebracht, etwa auf 30, 20, 10 oder gar 1. Dies hat den Preis, dass der System-Cache für Dateizugriffe kleiner wird und Dateioperationen länger dauern, während mehrere geöffnete Anwendungen aber reaktionsfreudiger bleiben. Den angepassten Wert der Swappiness schreiben Sie in die Konfigurationsdatei „/etc/sysctl.conf“, die Sie als root oder über sudo in einem Texteditor öffnen. Legen Sie am Ende der Datei die Zeile

vm.swappiness=[Wert]

an, falls noch nicht vorhanden. Der Platzhalter „[Wert]“ steht für den gewünschten Swappiness-Wert. Die Einstellung gilt ab dem nächsten Neustart.