Gorodenkoff - stock.adobe.com
Swap Space für Linux optimieren
Moderne Server haben viel Arbeitsspeicher und deswegen sieht Swap Sapce vielleicht wie ein Relikt aus der Vergangenheit aus. Die Auslagerungsdatei ist aber immer noch wichtig.
Bei Linux-Anwendern gibt es viel Verwirrung, was den sogenannten Swap Space oder den Auslagerungsspeicher angeht. Wie viel brauchen Sie wirklich und gibt es Möglichkeiten, ihn zu optimieren?
Per Standard wird eine Linux-Distribution Ihrem Computer einen gewissen Swap Space zuweisen. Einige Anwender denken, dass sie doppelt so viel Swap brauchen, wie sich Arbeitsspeicher (RAM) im Computer befindet. Das stimmt aber nicht. Linux benutzt den Swap-Bereich nur dann, wenn ihn das System wirklich braucht. Deswegen reicht in vielen Fällen ein Swap Space von einem GByte aus. Das gilt auch für Server, die gut ausgelastet sind.
Es gibt einen guten Grund für die geringen Swap-Anforderungen. Linux benutzt den Swap Space nur dann, wenn dem System das RAM komplett ausgegangen ist. Passiert das, merken Sie sofort, dass kein Arbeitsspeicher mehr zur Verfügung steht. Prozesse, die bisher ohne Probleme gelaufen sind, werden plötzlich viel langsamer. Der Grund ist, weil der Swap Space im Grunde genommen RAM ist, das aber auf der Festplatte des Computers emuliert wird. Herkömmliche Festplatten sind ungefähr tausendmal langsamer als RAM. SSDs sind sehr viel schneller als normale HDDs und das hat die Sache etwas besser gemacht. Moderner Arbeitsspeicher ist aber trotzdem wesentlich schneller.
Andere Betriebssysteme nutzen den Auslagerungsspeicher schon beim Hochfahren des Computers. Linux weiß aber, dass der Swap Space für die Performance des Computers nicht gerade dienlich ist. Deswegen fängt das Betriebssystem erst dann mit dem Auslagern an, wenn es fast kein RAM mehr zur Verfügung hat. Was fast bedeutet, lässt sich über die Datei /proc/sys/vm/swappiness steuern. Je höher der Wert in dieser Datei, desto eher fängt die Auslagerung an. Denken Sie also, dass ein früheres Auslagern vorteilhaft für den Computer ist, ändern Sie den Wert von zum Beispiel 10 auf etwas Höheres, wobei 100 der Maximalwert ist. Weil es sich um eine Datei im Dateisystem proc handelt, können Sie nicht direkt in die Datei schreiben, sondern müssen den Wert als Superuser via echo übertragen. Sehen Sie sich als Beispiel den nachfolgenden Befehl an:
echo 80 > /proc/sys/vm/swappiness
Wollen Sie den neuen Wert auch nach einem Neustart nutzen, dann stellen Sie sicher, dass der Service sysctl gestartet ist und hinterlegen Sie den Wert in der Datei /etc/sysctl.conf.
In den meisten Fällen reicht es aus, wenn Sie einen minimalen Swap Space konfigurieren. Damit stellen Sie sicher, dass der Server auch dann funktioniert, wenn ihm temporär das RAM ausgeht. In so einem Fall ist es an der Zeit, den Speicher aufzurüsten. Häufig sind ein oder zwei GByte als Auslagerungsdatei genug.
Ausnahmen bei der Benutzung von Swap Space
Es gibt ein paar Ausnahmen für die Nutzung von Swap, zum Beispiel bei Notebooks. Als Notebook-Anwender schätzen Sie die Unterstützung des Ruhezustandes. Damit sich der Computer in den Tiefschlaf begeben kann, muss er die Daten, die sich momentan im RAM befinden, in die Auslagerungsdatei schreiben. Damit der Ruhezustand oder Hibernation-Modus unterstützt wird, brauchen Sie mindestens so viel Swap wie RAM. Bei einem Server ist das kein Thema.
Bei einem Server kann es zu Problemen kommen, wenn Anwendungen eine eigene Herangehensweise an den Swap Space haben. Zwei bekannte Beispiele sind SAP und Oracle. Die Anwendungen benötigen mitunter den 1,5-fachen Swap Space des Arbeitsspeichers im System. Oracle gibt an, dass bei einem Server mit einem bis zwei Gbyte RAM, der 1,5-fache Swap Space konfiguriert werden soll. Von zwei bis 16 GByte soll die Auslagerungsdatei genauso groß sein und bei 16 GByte RAM oder mehr reichen 16 GByte Swap Space. Die Anforderungen können sich von Version zu Versionen ändern. Erkundigen Sie sich am besten beim Hersteller über die Anforderungen von RAM und Swap.
Benötigen Sie auf Ihrem Computer viel Swap Space, sollten Sie wissen, dass mit dem Swap Space auch Load Balancing möglich ist. Das bedeutet, dass Sie Swap auf mehrere Storage-Geräte verteilen dürfen. Der Linux Kernel übernimmt das Load Balancing zwischen den Storage-Geräten automatisch. Logischerweise verbessert sich damit die Performance des Swap Spaces. Ist eines der Storage-Geräte wesentlich schneller als die anderen, können Sie über die Datei /etc/fstab beim Einbinden Swap-Prioritäten konfigurieren. Verwenden Sie beim Einbinden einfach die Option prio=nn. Je größer die Zahl, die Sie als Priorität angeben, desto wichtiger ist das Gerät.
Fazit
Bei modernen Servern mit viel Arbeitsspeicher vergessen die Nutzer den Swap Space gerne. Bei einigen Anwendungen ist Swap für die Performance des Computers aber immer noch wichtig. Nun wissen Sie auf jeden Fall, wann es Sinn ergibt, über die Standardeinstellungen beim Swap Space hinaus zu blicken.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!