Warum verwendet Ubuntu kein Swap?

1

Ich verwende 32-Bit-Ubuntu 10.04 auf einem 4-Kern-AMD-Phenom-Computer mit 4 GB RAM. Bei normaler Verwendung (etwa ein Dutzend Chrome-Registerkarten, 1 VirtualBox-Computer, 2 oder 3 Instanzen von QtCreator) füllt sich der Speicher gelegentlich zu> 95%, und der Computer reagiert größtenteils nicht mehr.

Wenn ich in diesen Zeiträumen auf den Systemmonitor schaue, wird die Speichernutzung bei 95% + angezeigt, aber nur ein paar hundert MB meiner 9 GB Swap-Partition werden verwendet! Warum wird nicht mehr Speicher in den Swap verlagert, um ein Auslaufen zu vermeiden?

Siehe: http://imagebin.org/148884

mtbkrdave
quelle
Möglicherweise möchten Sie den paeKernel installieren , um die fehlenden 800 MB RAM zu erhalten.
Bobby
Ich habe das gleiche Problem. Ich denke, es hat mit alten Ubuntu-Versionen zu tun, ein Freund mit dem gleichen Problem scheint es in der neuesten Version von Ubuntu (14.10) behoben zu haben.
ctn

Antworten:

3

Das Abrufen von Speicher aus dem Swap ist sehr langsam. Linux verwendet den gesamten verfügbaren Speicher und spart nur wenig Zeit, um Befehle schnell auszuführen. Es wird ausgetauscht, wenn Speicher benötigt wird und auf andere Weise nicht verfügbar ist.

Linux puffert auch alle Dateien, die Sie im Speicher lesen und schreiben, in einem LRU-Cache. Diese Puffer können schnell freigegeben werden, wenn Programme Speicher benötigen. In Anbetracht der Programme, die Sie ausführen, sind möglicherweise nur noch wenige Puffer verfügbar, und E / A-Vorgänge, für die normalerweise keine Puffer mehr zur Verfügung stehen, werden von der Festplatte gelesen.

Es gibt einen Swappiness-Parameter, den Sie einstellen können, aber Sie möchten vielleicht zuerst untersuchen, was passiert. Versuchen Sie, das sarDienstprogramm (Paket sysstat) zu installieren und im Hintergrund auszuführen. Anschließend können Sie die generierten Dateien untersuchen, um festzustellen, welche Ressource zu einem Engpass wird.

BillThor
quelle
1

So fügen Sie Bills Antwort hinzu:

Swap sollte wegen des Overheads nach Möglichkeit vermieden werden. Ich glaube, die neueren Versionen von Ubuntu haben einen voreingestellten Wert von 'swappiness' von 10 (erst mit Swap anfangen, wenn <10% des RAM verfügbar sind). Ich glaube, das stimmt ziemlich gut mit dem überein, was Sie sehen.

Wenn Sie aus irgendeinem Grund früher mit der Verwendung von Swap beginnen möchten (z. B. um genügend freien Arbeitsspeicher zum Starten eines neuen VM-Images zu haben), können Sie den Wert für "Swap" erhöhen. In der folgenden Anleitung wird beschrieben, wie dies geschieht, und es werden zusätzliche Informationen bereitgestellt (siehe Abschnitt "Warum wird mein Swap nicht verwendet?").

https://help.ubuntu.com/community/SwapFaq

plafond
quelle