Linux-Box mit 100 % genutztem Swap und 60 % verfügbarem RAM – ist das normal?

Linux-Box mit 100 % genutztem Swap und 60 % verfügbarem RAM – ist das normal?

Kürzlich habe ich eine Box (eigentlich eine Webserver-VM) gesehen, die genau 0 (null) ungenutzte Bytes in ihrem Swap-Speicher hat, während der verfügbare RAM (der nicht frei ist, sondern die Summe aus freiem + Puffer + Cache) 60 % des gesamten VM-RAM beträgt. Das habe ich noch nie zuvor gesehen und mich gefragt, ob das eine gute Konfiguration ist (für die Box und die Anwendungen).

Der Administrator der VM sagte mir, dass das für ihn völlig normal sei und dass dies seine übliche Art sei, Boxen zu optimieren.

Seine Idee war, dass der Kernel, wenn die Box viele kalte RAM-Seiten hat, diese auslagert, um „echte“ RAM-Seiten freizugeben, die zum Zwischenspeichern von Daten verwendet werden können.

Ich wusste, dass der Swap das Letzte ist, was man verwenden sollte, wenn man eine schnelle Box haben möchte. Ich habe also die Swappiness auf niedrigere Werte gesetzt (damit der Kernel keine Seiten auslagern möchte), aber dieser Ansatz war, dass es gut ist, so viele Daten auszulagern, wie wir Swap-Speicher haben, um so mehr Cache zu haben. Und ja, sagte er, der Kernel kann auch ausgelagerte Seiten zwischenspeichern, also ist es nicht gut, den Swap frei zu halten.

Bitte beruhigen Sie mich in dieser Hinsicht: Sollte der VM-Seap optimal genutzt werden und RAM auf diese Weise freigegeben werden, sodass der Kernel-Festplattencache effektiver genutzt werden kann?

Um genau zu sein, gab es im Moment: 1 GB Swap-Speicher (zu 100 % genutzt), die VM hat 32 GB RAM und der verfügbare RAM betrug 13 GB.

Antwort1

Eine kleine Menge an Swap (1 GiB ist wenig im Vergleich zu 32 GiB RAM) vollständig zu verwenden, ist in Ordnung. Das bedeutet genau, wie es der Administrator der VM beschrieben hat: Angesichts der Verfügbarkeit von RAM wird alles, was im Swap landet, nicht verwendet, und es ist besser, es dort zu belassen und den entsprechenden physischen Speicher für dringendere Zwecke zu verwenden – ob aktive Workloads oder Festplattencache.

Übermäßiger Swap-Verbrauch ist nur dann besorgniserregend, wenn die Swap-Menge groß ist oder wenn Seiten aufgrund von Speichermangel ausgelagert werden, und noch wichtiger, wenn der SwapAktivitätist wichtig,dhEs vmstatwird angezeigt, dass ständig Seiten ein- und ausgelagert werden. Das deutet darauf hin, dass das System überlastet ist und seine Zeit damit verbringt, Seiten auszulagern, nur um sie dann wieder einlagern zu müssen. Das passiert, wenn der RAM für die Arbeitslast des Systems zu klein ist.

Das System, auf dem ich dies schreibe, hat etwas mehr Swap und befindet sich in einer ähnlichen Situation wie Ihre VM:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:          32054       19405        1098        2365       11550        9827
Swap:          6410        6410           0

Die interaktive Leistung ist jedoch in Ordnung und vmstatzeigt keine Swap-Aktivität.

verwandte Informationen