[Debian] RAM-Verwaltung mittels Swappiness

Um höhere Performance aus einem Server herauszuholen, ist es manchmal
relevant die RAM-Verwaltung zu optimieren.

Standardgemäß versucht ein Debian-System freien Speicherplatz für Daten von Anwendungen
oder anderem zu nutzen (Swap).

Dabei kann es oftmals passieren, dass für diese Zwecke mehr Swap beansprucht wird.
Bei der Verwendung von Servern beispielsweise als Datenbank-Servern ist dies nicht optimal.

Da Daten die in den Swap geschrieben werden, sich dann auf der Festplatte befinden und nicht im RAM.
Der RAM ist wesentlich performanter als eine Festplatte von den Lese- und Schreibegeschwindigkeiten.

Daher sollte man sich im Bezug auf die Performance bei einer heutzutage durchschnittlichen Menge an RAM
(mind 2 GB) darauf konzentrieren, den RAM effektiver zu nutzen.

Dies lässt sich unter Linux generell Steuern über den Parameter “Swappiness”.
Swappiness ist ein Kernel-Bestandteil der dazu dient zu kontrollieren, mit wie viel Prozent das System
Daten eher in den Swap schreiben soll.
Desto höher die Prozentangabe desto eher wird das System Daten in den Swap schreiben, als sie in den RAM
auszulagern. Desto geringer die Prozentangabe, desto eher wird das Gesamtsystem den Arbeitsspeicher beanspruchen,
als den Swap.

Dieser Parameter lässt sich Steuern über die sysctl.
Dazu wird in der Datei “/etc/sysctl.conf” eine weitere Zeile eingefügt (sofern nicht bereits vorhanden).

nano /etc/sysctl.conf

Sofern nicht bereits vorhanden folgende Zeile hinzufügen:

vm.swappiness=10

Damit ist die Chance für das Auslagern von Daten in den Swap zu 10% wahrscheinlich.
Standardgemäß befindet sich dieser Wert unter Debian oder Ubuntu Systemen auf 60 %, also ziemlich wahrscheinlich, dass
Daten jemals in den Swap ausgelagert werden.

Um diesen Parameter auch ohne Reboot wirksam zu machen, steht als weitere Möglichkeit an die Konfigurationsdatei
“swappiness” anzupassen. Dazu wird der Wert aus der Sysctl in diese File geschrieben:

echo 10 > /proc/sys/vm/swappiness

Damit ist der Schritt zur RAM-Optimierung getan.
Jedoch ist ein Reboot an dieser Stelle definitiv sinnvoller, da mehr gecachter RAM dann freigegeben wird und das System
mit “sauberen” Einstellungen im Bezug zur Verwaltung des RAMs hochfährt.

Quellen:
http://askubuntu.com/questions/103915/how-do-i-configure-swappiness
http://faq.hosteurope.de/view.php?mode=drucken&content_id=7544

Leave a Reply