Was passiert, wenn das Linux-Betriebssystem über genügend RAM und kein Swap verfügt?


23

Was passiert, wenn das Linux-Betriebssystem keinen RAM mehr hat und kein Swap verfügbar ist?


15
Es wäre schlimm. Versuchen Sie sich vorzustellen, wie alles Leben, wie Sie es kennen, augenblicklich aufhört und jedes Molekül in Ihrem Körper mit Lichtgeschwindigkeit explodiert. Totale protonische Umkehrung.
David

Antworten:


36

Wenn das Betriebssystem nicht über genügend RAM verfügt und keinen Auslagerungsspeicher hat, werden leere Seiten verworfen. Dirty Pages können nicht verworfen werden, da sie zuerst irgendwo geschrieben werden müssten. Dies führt zu Thrashing und schlechter Leistung, wenn nicht genügend RAM für den Arbeitsspeicher vorhanden ist. Dies ist einer der Hauptgründe, warum Sie wirklich einen Austausch wünschen - damit das Betriebssystem eine bessere Entscheidung darüber treffen kann, welche Seiten entfernt werden sollen.

Ohne Auslagerung wird dem System der virtuelle Speicher ausgehen (genau genommen RAM + Auslagerung), sobald keine sauberen Seiten mehr zu räumen sind. Dann muss es Prozesse abbrechen.

Es ist völlig normal, dass der Arbeitsspeicher knapp wird. Es ist nur ein Minuspunkt bei der Verwendung von RAM. Wenn nicht genügend RAM zur Verfügung steht, kann dies auch als "RAM-Verschwendung" bezeichnet werden. Sobald der gesamte Arbeitsspeicher belegt ist, trifft das Betriebssystem intelligente Entscheidungen darüber, was im Arbeitsspeicher aufbewahrt werden soll und was nicht. Ohne Swap stehen weniger Optionen zur Verfügung.

Wenn das Entfernen von Seiten mit oder ohne Auslagerung nicht ausreicht, lehnt das Betriebssystem zunächst ab, Vorgänge zuzulassen, die Speicher erfordern (z. B. mmapund fork). Manchmal reicht das jedoch nicht aus und Prozesse müssen abgebrochen werden.


4
+1 "Es ist völlig normal, dass nicht genügend RAM zur Verfügung steht. Es ist nur eine negative Auswirkung auf die Verwendung von RAM. Nicht zu wenig RAM kann auch als" RAM-Verschwendung "bezeichnet werden."
TheTurkey

Eine verwandte Abfrage. Wissen Sie, was passiert, wenn ich versuche, einen Linux-Computer in den Ruhezustand zu versetzen, und nicht genügend Auslagerungsspeicher vorhanden ist, um die vorübergehenden Daten zu speichern? Hört es auf zu überwintern?
Prahlad Yeri

1
@PrahladYeri Das stimmt. Wenn Sie keine Suspend-Partition haben und nicht genügend freier Swap vorhanden ist, um den Inhalt des Arbeitsspeichers aufzunehmen, können Sie nicht in den Ruhezustand wechseln.
David Schwartz

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.