Ist es wichtig, wie groß der Swap-Bereich im Linux-System ist?

12

Ist es wichtig, wenn die Größe eines Swap-Bereichs in Linux zu klein eingestellt wurde (z. B. 1 GB) und der Hauptspeicher zu klein ist 128Gb?

Sollen wir die Größe des Swap-Bereichs immer auf die doppelte Größe des Arbeitsspeichers festlegen?

AKTUALISIERT:

Hallo, vielen Dank für die Beantwortung dieser Frage. Tatsächlich habe ich diese Frage, weil bei der Verwendung eines kleinen Clustersystems einige Probleme aufgetreten sind. Die Probleme sind hier veröffentlicht . Das folgende Bild enthält einige Informationen zu einigen Computern in diesem kleinen Cluster.

Information

Dies MEMTOTist die Gesamtgröße des Arbeitsspeichers dieser Maschine, die SWAPTOGesamtgröße des SW-AP-Bereichs dieser Maschine und SWAPUSdie verwendete Größe des SWAP-Bereichs. Wie in der Abbildung gezeigt, ist die Verwendung von SWAP in der Tat gering.

Beim Versuch , diese Probleme im Thema zu lösen Hier sind wir nicht sicher , ob die Menge des SWAP - Bereichs zu klein eingestellt ist, der gerade 1Gbzu relativ 128Gb, wie in der Abbildung dargestellt. Somit habe ich diese Frage. Es tut mir leid, dass ich nicht die gesamten Hintergrundinformationen in der Originalversion dieses Beitrags gepostet habe. Davor dachten wir auch, dass wir die Menge an SWAP klein einstellen könnten, wenn die Menge an RAM groß ist. Wir haben versucht , die SWAP - Set c0148zu sein 16Gb, das Problem scheint keine zu sein (Vielleicht sollten wir diese Schlussfolgerung nehmen nach deren Status für eine lange Zeit zu beobachten).

Wir sind keine Experten auf Linux-Systemen, und wir konnten nicht erklären, warum dies passiert ist. Es ist wahrscheinlich, dass es sich um ein Clustersystem handelt und der SGE die Ressourcen jedes Computers verwaltet. Außerdem muss er über eine relativ große Menge an SWAP verfügen, da dieser Computer möglicherweise von vielen Jobs verwendet wird, die von vielen Benutzern übergeben wurden.

Wenn wir nur den SWAP-Betrag zu groß einstellen, sollten wir auch überlegen, welche anderen Probleme dies verursachen würde.

Bergbau
quelle
1
Wenn Sie 128 GB RAM haben und anfangen zu tauschen, ist dieses System wahrscheinlich außer Kontrolle und sowieso tot. Ich persönlich würde diesen Server wahrscheinlich ohne Swap betreiben. Der OOMKiller sollte sich um alle außer Kontrolle geratenen Prozesse kümmern, bevor nicht genügend Arbeitsspeicher zu einem Absturz führt - und der Absturz ist sowieso schneller zu beheben.
Ryan Gooler
1
Welches wäre - was? Ein paar Megas von init? Etwas zwischengespeicherter Speicher, der geworfen wird, sobald etwas tatsächlich den RAM benötigt? Wenn Ihr Computer Speicher austauschen muss, um zu funktionieren, ist er überlastet und muss auf jeden Fall vergrößert werden.
Ryan Gooler
1
@ Ryan Gooler: Wenn Sie wissenschaftliche Simulationen durchführen, ist ein Prozess, der 128 GB oder mehr verwendet, nicht unangemessen.
Jamesqf
1
Siehe Wie viel SWAP-Speicherplatz auf einem System mit hohem Arbeitsspeicher?
Wiedereinsetzung von Monica - M. Schröder
1
@ RyanGooler Wahr genug. Mein Punkt ist , dass Swap - Erhöhung kann Programme ermöglichen es mehr physischen RAM aufbrauchen. Es ist nur ein paar MB, aber es ist besser als nichts :)
Navin

Antworten:

19

Der Linux-Kernel hat eine Einstellung, mit der gesteuert wird, wie oft der Swap verwendet wird ( swappinesssiehe /unix/88693/why-is-swappiness-set-to-60-by-default) .

Ein Swap von Null bedeutet, dass der Swap nur verwendet wird, wenn das System keinen Speicher mehr hat. Ein Swap-Wert von 100 erzwingt die sofortige Verwendung von Swap.

Passen Sie Ihr System so an, wie Sie es möchten, aber mit 128 GB RAM ist es sehr unwahrscheinlich, dass auf Ihrem System der Arbeitsspeicher knapp wird. Daher können 2/4 GB Swap ausreichen. Es ist nicht ratsam, aber möglich, ein System ohne Swap-Partition auszuführen.

Ich denke, die Regel, dass der Auslagerungsbereich doppelt so groß ist wie der Arbeitsspeicher, ist veraltet und nur auf Systemen nützlich, die ungefähr 1 GB Arbeitsspeicher haben und immer am Rande der vollen RAM-Auslastung stehen.

jcbermu
quelle
2
Während das Setzen swappinessauf 0 bei einer großen Menge an RAM logisch erscheint, ist es möglicherweise besser, diesen Standardwert beizubehalten60 : http://unix.stackexchange.com/a/88820/50687 .
AL
1
Gibt es ein Diagramm mit der Vertauschbarkeitsform 0 bis 100 auf einer Achse und etwas anderes auf der anderen, um zu demonstrieren, wie ... die Vertauschbarkeit vom Wert abhängt?
user1306322
Hallo, @jcbermu, ich habe den Beitrag aktualisiert.
Bergbau
5

Ich glaube die 2x Faustregel ist veraltet. Unsere Workstations haben 16 GB RAM, wir verbrauchen davon normalerweise nur 25% und kaum mehr als 50%. Aus diesem Grund verwenden wir für unsere Zwecke keinen Swap.

Da Sie sich entscheiden müssen, wie viel Swap erstellt werden soll und theoretisch eine beliebige Zahl nicht ausreicht, wählen Sie 0. Oder - warum nicht einfach mehr RAM installieren?

Ich glaube, dies ist eine sehr persönliche Entscheidung, die davon abhängt, wie Ihr Computer verwendet wird und wie viel RAM er hat.

gjcamann
quelle
Hallo, @gjcamnn, danke für die Antwort. Ich habe den Beitrag aktualisiert.
Bergbau
0

Sofern Sie nicht einige speicherintensive Berechnungen durchführen, müssen Sie überhaupt keinen Swap durchführen (es ist jedoch besser, eine kleine Swap-Partition zu haben). Ein Swap-RAM ist jedoch erforderlich, wenn Sie Suspend to Disk verwenden möchten.

ustp
quelle
Hallo, @ustp, danke für die Antwort. Ich habe den Beitrag aktualisiert.
Bergbau