Warum ist es sinnvoll, den Austausch zwischenzuspeichern?

9

Es klingt für mich ziemlich kontraproduktiv, ausgelagerte Seiten zwischenzuspeichern. Wenn Sie Seiten austauschen, was ist der Vorteil, wenn Sie sie zuerst im Speicher zwischenspeichern und dann an die richtige Stelle verschieben müssen? Auch wenn Seiten proaktiv ausgetauscht werden, ist es nicht sinnvoller, sie "nur" einzutauschen? Ist das Zwischenspeichern von Swap nicht nur eine Verschwendung von Ressourcen?

txwikinger
quelle
Sie, Ma'am / Sir, erhalten von mir zusätzliche Punkte für Ihre Fragen. Ich wünschte, ich könnte zweimal abstimmen.
Eli Frey

Antworten:

12

Nach einigen weiteren Recherchen habe ich festgestellt, dass der Begriff SwapCached in /proc/meminfoirreführend ist. Tatsächlich bezieht es sich auf die Anzahl der Bytes, die gleichzeitig im Speicher und im Swap vorhanden sind, sodass diese Seiten nicht ausgetauscht werden müssen, wenn sie nicht verschmutzt sind.

txwikinger
quelle
2
Das ist aber ziemlich gleichbedeutend damit, zwischengespeichert zu werden, nicht wahr? Ich meine, WRT, das Speicherverwaltungssystem des Kernels, "zwischengespeichert" bedeutet "sowohl auf der Festplatte als auch im RAM", richtig?
SamB
0

Ich habe noch nie davon gehört und es macht auch für mich keinen Sinn. Ich denke immer noch, dass die gute alte Regel, sicherzustellen, dass es überhaupt nicht tauscht (außer natürlich die Reservierungen), am besten ist. Theoretisch hat das Zwischenspeichern von Dingen im direkt verfügbaren Speicher, die eine Weile brauchen, um von etwas so Langsamem wie einer Festplatte geladen zu werden, einen offensichtlichen Vorteil. Aber wenn Sie in der Lage sind, zu tauschende Seiten zwischenzuspeichern, warum sollten Sie dann überhaupt wieder tauschen?

reiche
quelle
0

Wenn Sie Seiten zwischen Swap und RAM duplizieren, müssen Sie vermeiden, auf die Festplatte zu warten, wenn:

  1. Etwas muss von ihnen lesen

  2. Sie müssen vertrieben werden, um Platz für etwas anderes zu schaffen

Wenn sie nur im Tausch wären, würde Fall 1 bedeuten, darauf zu warten, dass sie von der Festplatte kommen; Wenn sie nur im RAM wären, würde Fall 2 bedeuten, darauf zu warten, dass sie auf die Festplatte gehen.

(Natürlich ist Fall 2 tatsächlich etwas komplizierter, da es offensichtlich billiger ist, solche Seiten zu entfernen, sodass der Kernel sie wahrscheinlich bevorzugt entfernt, aber der Punkt sollte klar sein.)

SamB
quelle