Swap-RAM aktivieren ratsam?

Swap-Ram aktivieren. Ja oder Nein?

  • Ja

    Votes: 11 73.3%
  • Nein

    Votes: 4 26.7%

  • Total voters
    15
  • Poll closed .
Swap ist "langsamer RAM" - die Daten werden dabei auf die Festplatte geschrieben, statt in den "richtigen RAM". Dieser wird nur verwendet, falls dein "schneller/richtiger RAM" überfüllt ist, damit es zu keinen Systemfehlern kommt.

Ich hoffe, dass das nun verständlich genug ausgedrückt ist. :rolleyes:

Das ist eine super Erklärung!
Danke jetzt habe ich es auch verstanden :)

Um nochmal darauf zurück zu kommen, ich könnte den Hoster darauf hinweisen, aber ich weis nicht, was ich genau schreiben soll.
 
Last edited by a moderator:
Swap ist "langsamer RAM"

Nein, und ich finde es schwierig, dass das immer wieder so behauptet wird. Swap ist kein RAM, auch kein langsamer. Ein laufender Prozess kann keinen Griff auf die Platte machen, um an seine InMemory-Daten zu kommen. Ich kann mit 6GB RAM und 2GB Swap niemals 8GB gleichzeitig benutzen.

Swap ist AUSLAGERUNGSSPEICHER. Der Kernel kann da Daten zwischenspeichern, die IM MOMENT nicht gebraucht werden. Sobald die Daten wieder gebraucht werden, muss der Kernel sie aus dem Swap zurück in den RAM laden, damit ein Prozess darauf zugreifen kann.
 
Nein, und ich finde es schwierig, dass das immer wieder so behauptet wird. Swap ist kein RAM, auch kein langsamer. Ein laufender Prozess kann keinen Griff auf die Platte machen, um an seine InMemory-Daten zu kommen. Ich kann mit 6GB RAM und 2GB Swap niemals 8GB gleichzeitig benutzen.

Swap ist AUSLAGERUNGSSPEICHER. Der Kernel kann da Daten zwischenspeichern, die IM MOMENT nicht gebraucht werden. Sobald die Daten wieder gebraucht werden, muss der Kernel sie aus dem Swap zurück in den RAM laden, damit ein Prozess darauf zugreifen kann.
Ich habe versucht das Ganze so simpel wie möglich zu erklären und das leider zu Lasten einiger Details, damit der OP zumindest auf Seite 2 dieses Threads einigermaßen versteht um was es geht, was anscheinend auch funktioniert hat und davor offensichtlich niemand hier geschafft hat.
 
Hab ich verstanden. Zu einfach und dann leider falsch hilft aber im Zweifel eben auch nicht.

Wenn immer wieder behauptet wird Swap wäre langsamer RAM, dann werden auch immer wieder Leute nicht verstehen, warum 6Gb + 2GB eben nicht 8GB sind. Sie werden auch nicht verstehen, warum man Swap haben will oder auch nicht. Und Provider werden weiter Flexi_RAM & Co. verkaufen und die Leute verarschen.

Am Ende erzählen Leute immer weiter herum, Swap wäre RAM und treffen auf dieser Basis sinnlose oder falsche Entscheidungen.

Daher: „Mache die Dinge so einfach wie möglich - aber nicht einfacher.“ (Albert Einstein)
 
Da ich OpenVZ und Co nicht nutze:
Wie stellt sich dieser "Swap-RAM" eigentlich dem Gastsystem vor? Wenn ich also wie beim OP 6GB Real-RAM plus 2GB Swap-RAM zur Verfügung habe, sieht das Gastsystem doch 8GB RAM und verwendet diese 8GB dann auch so als wären es 8GB physischer RAM, richtig?
Falls dem so ist, dann bremst der Swap-RAM das Gastsystem nämlich _immer_ aus und nicht erst wenn die ersten 6GB aufgebraucht sind, denn RAM wird nicht sequentiell genutzt sondern zufällig und dadurch landet immer irgendetwas im Swap-RAM und damit im Swap aka der Festplatte des Hostsystems.
Damit wäre Swap-RAM grundsätzlich eine ganz dumme Idee und regulärer Swap im Gastsystem die bessere Wahl.

Mag mich mal bitte jemand korrigieren oder bestätigen?
 
Wird bei mir innerhalb eines Containers als Swap auf /dev/null angezeigt:

Code:
[root@host ~]# swapon -s
Filename				Type		Size	Used	Priority
/dev/null                               partition	1048576	9292	-1
[root@host ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1024        430        593          0          0        260
-/+ buffers/cache:        169        854
Swap:         1024          9       1014
[root@host ~]#
 
Dann ist die Bezeichnung als "*RAM*" also sowohl technisch als auch rechtlich eine Irreführung.

Happy Abmahning...
 
Ist schon lange her seit ich OpenVZ aktiv nutzte aber damals war die Anzeige des SWAP nur eine Art Hack im System. Eigentlich benutzte es nur den normalen RAM des Host und dieser traf ohne Rücksicht auf die VM's die Entscheidung was in den Swap fliegt - die Anzeige ist also eigentlich weder wirklich richtig noch falsch.
Dank LIFO ist es also sehr gut möglich dass der einzige 2MB-großer Prozess-Speicher eines Containers in den SWAP fliegt während ein anderer User weit über sein eigentliches RAM-Limit rausreichen kann da er ihn aktiver benutzt.
 
Seit CentOS 6 gibt es für die OpenVZ Container den VSwap:

Zitat:

The sum of physpages.limit and swappages.limit limits the maximum amount of memory which can be used by a container. When physpages limit is reached, memory pages belonging to the container are pushed out to so called virtual swap (vswap). The difference between normal swap and vswap is that with vswap no actual disk I/O usually occurs. Instead, a container is artificially slowed down, to emulate the effect of the real swapping. Actual swap out occurs only if there is a global memory shortage on the system.

Quelle: http://openvz.org/VSwap
 
Also geht der vswap (wenn er tatsächlich vom Gast genutzt wird) zunächst vom freien RAM des Hosts ab und erst wenn dem Host der RAM ausgeht, wird der Swap des Hosts genutzt. Richtig?

Wird hingegen kein vswap konfiguriert, dann geht der "Swap-RAM" immer in den Swap des Hosts?

Und der Gast sieht sowohl den vswap als auch den "Swap-RAM" immer als regulären Swap und nicht als RAM?

Habe ich das nun soweit richtig verstanden?
 
Virtuozzo/OpenVZ kennt in Containern keinen Swap der definitiv immer auf der Platte des Hostsystems landen würde. Egal ob man UBC, SLM oder vSwap als Ressourcenmodell einsetzt.
Der gesamte, dem Container zugewiesenen Speicher, landet primär im Ram des Hostsystems. Kommt das Hostsystem mit seiner Ram-Auslastung an seine Grenzen, wird (je nach Ressourcenmodell) der als "Swap-fähige" definierte Speicherbereich in den echten Swap des Hostsystems verschoben.
UBC kennt dazu ein paar mehr Limitierungen (was es für den Laien schwer macht zu verstehen), als vSwap. Das Grundprinzip bleibt aber das gleiche.

Hinzu kommt natürlich das übliche auslagern von Speicherseiten, die lange nicht gebraucht wurden, um im Ram Platz für den File-Cache zu machen. Allein das ist schon ein Grund, weshalb man immer mindestens einen sehr kleinen Swap konfigurieren sollte.
 
Gegenfrage: Was verlierst du, wenn du den Swap anschaltest?

Fast nichts. Von der Leistung her ändert sich rein gar nichts.
Es ist ja nicht so, dass ich es in Frage stelle, dass es irgendwelche negativen Effekte hätte.

Ich dachte nur, dass es außer deine Begründung vielleicht noch irgendwas anderes gibt, was den Einsatz des Swap befürwortet. Ich bin ja lernfähig ;-)
 
Last edited by a moderator:
Ich dachte nur, dass es außer deine Begründung vielleicht noch irgendwas anderes gibt, was den Einsatz des Swap befürwortet.

Ich kann dir nur aus der Praxis antworten: Wenn alle unsere VMs, die hin und wieder mit einer Lastspitze und einer erhöhten Nutzung des Swaps im Nagios auftauchen auf Grund von RAM-Auslastung sterben gehen würden, hätte ich deutlich mehr zu tun. So ist es eben in 80% der Fälle nicht mehr als eine temporäre Lastspitze.
 
Ja, das ist natürlich ein guter Grund .-)
Ich möchte meine Stimme revidieren. Hab für "Nein" gestimmt.
 
Back
Top