Ist es wichtig, wie viel Swap-Bereich in einem Linux-System vorhanden ist?

1919
mining

Ist es wichtig, wenn der Betrag eines Swap-Bereichs in Linux zu klein eingestellt wurde (etwa 1 GB) und der Hauptspeicher ist 128Gb?

Sollen wir den Swap-Bereich immer auf das Doppelte des Arbeitsspeichers setzen?

AKTUALISIERTE:

Hallo, ich danke Ihnen allen 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 in Hier veröffentlicht . Das folgende Bild enthält einige Informationen zu einigen Computern in diesem kleinen Cluster.

Information

Dies MEMTOTist die Gesamtmenge des Arbeitsspeichers dieser Maschine, die SWAPTOGesamtmenge des SW-AP-Bereichs dieser Maschine und SWAPUSdie verwendete Menge des SWAP-Bereichs. Wie auf dem Bild gezeigt, ist die Verwendung von SWAP in der Tat gering.

Wenn Sie versuchen, die in Here veröffentlichten Probleme zu lösen, sind wir nicht sicher, ob der SWAP-Bereich zu klein eingestellt ist. Dies ist nur 1Gbrelativ zu dem 128Gbin der Abbildung gezeigten Wert . Daher habe ich diese Frage. Es tut mir leid, dass ich nicht die gesamten Hintergrundinformationen in der Originalversion dieses Posts gepostet habe. Zuvor dachten wir auch, dass wir den SWAP-Wert klein einstellen können, wenn der RAM-Speicher groß ist. Wir haben versucht, den SWAP-Wert c0148als zu definieren 16Gb, das Problem scheint keines zu sein (vielleicht sollten wir diese Schlussfolgerung ziehen, nachdem wir ihren Status lange Zeit beobachtet haben).

Wir sind keine Profis für Linux-Systeme, und wir konnten nicht erklären, warum dies geschah. Es ist wahrscheinlich, dass dies ein Clustersystem ist und die SGE die Ressourcen jeder Maschine verwaltet, und es muss eine relativ große Menge an SWAP vorhanden sein, da diese Maschine von vielen Jobs verwendet werden kann, die von vielen Benutzern eingereicht werden.

Wenn wir nur die Menge an SWAP zu groß ansetzen, ist es auch eine Überlegung wert, welche anderen Probleme dies verursachen würde.

12
Wenn Sie über 128 GB RAM verfügen und mit dem Tausch beginnen - 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 jeden Runaway-Prozess kümmern, bevor der Speicher zum Absturz führt - und der Absturz lässt sich ohnehin schneller beheben. Ryan Gooler vor 9 Jahren 1
@RyanGooler Dies zwingt Linux dazu, alte Daten im RAM zu behalten, auch wenn seit dem Booten nicht mehr darauf zugegriffen wurde. Navin vor 9 Jahren 0
Was wäre - was? Ein paar Mega-Sachen von init? Etwas zwischengespeicherter Speicher, der geworfen wird, sobald etwas den RAM tatsächlich benötigt? Wenn Ihr Computer den Speicher austauschen muss, um funktioniert, ist er überlastet und muss auf jeden Fall vergrößert werden. Ryan Gooler vor 9 Jahren 1
Hallo, @ RyanGooler, vielen Dank für die Antwort. Ich habe den Beitrag aktualisiert, wenn möglich, bitte prüfen. mining vor 9 Jahren 0
Hallo, @Navin, danke für die Antwort. In der Tat laufen die Maschinen seit dem Booten lange Zeit. Ich habe den Beitrag aktualisiert, wenn möglich, bitte prüfen. mining vor 9 Jahren 0
@ Ryan Gooler: Wenn Sie wissenschaftliche Simulationen durchführen, ist ein Prozess, der 128 GB oder mehr verwendet, nicht unangemessen. jamesqf vor 9 Jahren 1
Siehe [Wie viel SWAP-Speicherplatz auf einem System mit hohem Arbeitsspeicher?] (Https://serverfault.com/q/5841). Martin Schröder vor 9 Jahren 1
@ MartinSchröder, vielen Dank! Die Referenz ist sehr hilfreich! mining vor 9 Jahren 0
@ MartinSchröder, ich denke, die Antworten im http://serverfault.com/questions/5841/how-much-swap-space-on-on-high-memory-system sind genau die Informationen, nach denen ich suche. mining vor 9 Jahren 0
@RyanGooler Richtig genug. Mein Punkt ist, dass das Erhöhen von Swap * es Programmen erlaubt, mehr physischen RAM zu verbrauchen. Es sind nur wenige MB, aber es ist besser als nichts :) Navin vor 9 Jahren 1

3 Antworten auf die Frage

19
jcbermu

Die Linux - Kernel hat eine Einstellung zu steuern, wie oft der Swap verwendet wird, genannt swappiness, bei beschrieben https://unix.stackexchange.com/questions/88693/why-is-swappiness-set-to-60-by-default .

Ein Swap von Null bedeutet, dass der Swap nur verwendet wird, wenn der Speicher nicht ausreicht. Ein Wechsel von 100 erzwingt die sofortige Verwendung von Programmen.

Sie können Ihr System so anpassen, wie Sie es sich wünschen, aber mit 128 GB RAM ist es sehr unwahrscheinlich, dass Ihr System leicht über genügend Arbeitsspeicher verfügt, so dass ein 2/4-GB-Swap ausreichend sein könnte. Es ist nicht ratsam, aber möglich, ein System ohne Swap-Partition auszuführen.

Ich denke, die Regel des Swap-Bereichs ist doppelt so groß wie der RAM-Speicher und ist nur auf Systemen nützlich, die sich auf 1 GB RAM belaufen und immer am Rande der vollen RAM-Nutzung liegen.

Die Einstellung von "swappiness" auf 0 erscheint logisch mit einer großen Menge an RAM. Es kann jedoch besser sein, den Standardwert "60" beizubehalten: [http://unix.stackexchange.com/a/88820/50687] ( http://unix.stackexchange.com/a/88820/50687). A.L vor 9 Jahren 2
Gibt es eine Grafik mit Swappiness-Werten von 0 bis 100 auf einer Achse und etwas anderes auf der anderen, um zu zeigen, wie… der Swappiness vom Wert abhängt? user1306322 vor 9 Jahren 1
Hallo, @jcbermu, ich habe den Beitrag aktualisiert, wenn es angebracht ist, bitte nachsehen. mining vor 9 Jahren 0
5
gjcamann

Ich glaube, die 2x-Faustregel ist veraltet. Unsere Workstations haben 16 GB RAM, wir verwenden normalerweise nur etwa 25% davon und kaum mehr als 50%. Für unsere Zwecke verwenden wir also keinen Swap.

Da Sie entscheiden müssen, wie viel Swap erstellt werden soll, und es theoretisch ist, dass eine von Ihnen gewählte Anzahl an einem bestimmten Punkt nicht ausreicht, warum wählen Sie dann nicht 0? Oder - warum nicht einfach mehr RAM installieren?

Ich glaube, dass dies eine sehr persönliche Entscheidung ist, basierend darauf, wie Ihr Computer verwendet wird und wie viel RAM er hat.

Hallo, @gjcamnn, vielen Dank für die Antwort. Ich habe den Beitrag aktualisiert, wenn möglich, bitte prüfen. mining vor 9 Jahren 0
0
ustp

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

Hallo, @ustp, danke für die Antwort. Ich habe den Beitrag aktualisiert, wenn möglich, bitte prüfen. mining vor 9 Jahren 0