Warum wird Swappiness = 10 empfohlen?

9

In Ubuntus SwapFaq wird ein Wert von swappiness=10empfohlen .

Warum wird ein Wert von 10 eher empfohlen als swappiness=0?

Gibt es Vor- oder Nachteile von Null?

Eric
quelle
3
@Mitch Bei dieser Frage geht es darum, warum die Leute empfehlen, die Swappiness zu reduzieren . Diese Frage ist anders; es wird gefragt, warum die Swappiness überhaupt über Null liegen sollte . Das ist also keine Frage, warum die Leute empfehlen, dass es so niedrig ist ; Es wird gefragt, warum die Empfehlung so hoch ist wie sie ist. Da die Antwort dort (ziemlich rational) nicht mit dem Argument übereinstimmt, die Swappiness so weit zu reduzieren, gibt es einige Überschneidungen mit meiner Antwort hier, aber letztendlich denke ich, dass dies separate (wenn auch verwandte) Fragen mit separaten Antworten sind.
Eliah Kagan
@ EliahKagan touché :)
Mitch

Antworten:

9

swappiness=0wird warten, um zu tauschen, bis es absolut notwendig ist. Wenn Sie einen moderaten Wert wie swappiness=10festlegen, werden die Seiten etwas leichter vom Speicher auf die Festplatte verschoben. Dies kann verhindern, dass viel auf einmal getauscht werden muss. Ein solches Bedürfnis kann zu lästigen Verzögerungen führen.

Darüber hinaus wird häufig ein Prozess ausgeführt, der jedoch längere Zeit nichts ausführt. Viele Daemons (Hintergrunddienste) verhalten sich so. Möglicherweise haben Sie eine Hintergrundanwendung, die für eine Weile nicht verwendet wird. Und heutzutage werden einige Anwendungen als mehrere Prozesse implementiert, wie z. B. Chromium und Google Chrome, wobei jeder Tab einen eigenen Prozess enthält (kein separater Thread, sondern ein separater Prozess ). Wenn Sie swappinesseinen Wert wie 10 einstellen, werden diese Hintergrundaufgaben, die nicht aktiv verwendet werden, in den Speicher verschoben, auch wenn sie im RAM überfüllt bleiben könnten. Wenn ein aktiver verwendeter Prozess mehr RAM zuweisen muss, kann dies schneller geschehen.

Abschließend, so dass Prozesse von RAM auf die Festplatte ausgelagert werden früher als nötig verleiht oft einen Leistungsvorteil und niedrigere Latenzen , wenn ein Prozess zuordnet Speicher. Dies geht zu Lasten der Zeit, die zum Zurücktauschen der Prozesse benötigt wird. Dies wird jedoch normalerweise viel seltener durchgeführt als ein Prozess im aktiven Gebrauch, der Speicher zuweist und freigibt, sodass sich der Kompromiss oft lohnt.

Eliah Kagan
quelle
Sie sollten auch den Puffer Ihres Laufwerks berücksichtigen. Wenn Sie eine SSD mit einem Puffer von 512 MB und 4 GB RAM haben. Sie können dies wahrscheinlich bei 10 belassen, ohne sich um Leistungsprobleme sorgen zu müssen, da jedes Programm fast sofort etwa 1 GB RAM zuweisen kann. Ich habe eine SSD mit 256 MB Puffer und 8 GB RAM, daher belasse ich sie auch bei 10, da sie auch eine schnelle Zuweisung von ca. 1 GB garantiert, die ich selten benötige.
Stackount