Warum führt das System einen Swap durch, obwohl es über genügend RAM verfügt, und ist dies schädlich?

Warum führt das System einen Swap durch, obwohl es über genügend RAM verfügt, und ist dies schädlich?

Ich betreibe einen 64 GB RAM Root-Bare-Metal-Ubuntu-16.04-Server mit SSDs, der ziemlich stark ausgelastet ist. Jetzt habe ich erfahren, dass Cloud-Server Swaps im Allgemeinen deaktivieren, da dies die SSDs auf lange Sicht verschleißen kann. Das macht mir Sorgen um meinen Server, da er Swaps durchführt, obwohl es nicht nötig ist, da genügend RAM verfügbar ist.

Dashboard-ScreenshotHier

Ist das normal oder würden Sie empfehlen, Maßnahmen zu ergreifen, z. B. das Swapping zu deaktivieren?

Antwort1

Kurze Antwort:ja, das ist normal und Sie müssen sich keine Sorgen machen.

Lange Antwort:Linux verwendet etwas Swap, auch wenn genügend Speicher verfügbar ist. Der Grund dafür ist, dass das Zwischenspeichern kürzlich gelesener/geschriebener Daten nützlicher sein kann, als alten, inaktiven Programmcode und Daten im RAM zu behalten. Diese Tendenz kann über das swappinesssysctl-Tunable geändert werden. Von derKernel-Dokumente:

Austauschbarkeit

Mit diesem Steuerelement wird festgelegt, wie aggressiv der Kernel Speicherseiten auslagert. Höhere Werte erhöhen die Aggressivität, niedrigere Werte verringern die Menge an Auslagerung. Ein Wert von 0 weist den Kernel an, keine Auslagerung zu initiieren, bis die Menge an freien und dateigestützten Seiten unter der Höchstgrenze in einer Zone liegt.

Der Standardwert ist 60.

Wenn Sie Swapping wirklich reduzieren möchten, können Sie den swappinessWert senken übersysctl vm.swappiness=10 oder echo 10 > /proc/sys/vm/swappiness. Denken Sie daran, dass dies bis zu einem Neustart gültig ist. Um es zwischen den Neustarts beizubehalten, müssen Sie die /etc/sysctl.confDatei bearbeiten.

Wenn Sie den Swap-Vorgang vollständig deaktivieren möchten, können Sie Folgendes tun: swapoff -a(Kommentieren Sie den entsprechenden /etc/fstabEintrag, damit er zwischen Neustarts bestehen bleibt.)

Antwort2

Schreien Sie nicht, nur weil Linux swappt,Tatsächlichauf einem gesunden Server ist diesvöllig normal, wenn nicht sogar ein Zeichen für einen optimierten Server.Dies liegt daran, dass „niedriges“ SwappingManchmal sparen Sie und Ihre Laufwerke wertvolle IO-Aktionen auf den LaufwerkenJe weniger Aktivitäten auf dem Laufwerk stattfinden (kostspielige Prozesse selbst auf hochmodernen NVMe-Arrays), desto besser.

Auches sei denn, der Tausch ist aggressives wird einer SSD nur geringfügigen Schaden zufügen. Insbesondere viele SSDs, die für Clouds verwendet werden, sindso gebaut, dass es im PB-Bereich hält, bevor alle Zellen sterben.

Antwort3

Speicher wird ständig zugewiesen und freigegeben, was zu Fragmentierung führt: Auf einen Teil zugewiesenen Speichers folgt ein Teil nicht zugewiesenen Speichers und so weiter. Die nicht zugewiesenen (freien) Speicherbereiche können mit der Zeit immer kleiner werden. Irgendwann muss ein Prozess möglicherweise eine bestimmte Speichermenge zuweisen, die nicht als einzelner zusammenhängender Block verfügbar ist. Swapping hilft dabei, Speicher freizugeben und größere zusammenhängende Bereiche freien Speichers zu erstellen, die sonst nicht verfügbar wären.

verwandte Informationen