PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wie groß sollte die SWAP Partition sein? (Server)



Dono
25.01.12, 13:39
Hi,

früher hat man mal gesagt, dass der SWAP die doppelte größe vom RAM haben sollten. Jetzt ließt man oft davon, dass man die größer vom RAM nehmen sollte. Wenn man jetzt einen Server mit 64 GB RAM hat, sind dann weniger als 64 GB zulässig?

???

marce
25.01.12, 14:04
Allgemeine Regel: Kommt drauf an.

Ein bisserl Swap sollte immer sein, der Rest hängt von der Anwendung ab.

zyrusthc
25.01.12, 15:34
Der Swap ist mehr oder weniger eine Absicherung fals der RAM mal volllaufen sollte das das System nicht unweigerlich einfriert. Bei 64GB RAM würde ich daher überhaupt keinen Swap mehr verwenden, es sei den ich benutze Anwendungen die wirklich an diesen Grenzbereich kommen.

Greeez Oli

marce
25.01.12, 16:58
Kein Swap ist nicht gut - das System verwendet den auch gern mal für div. Dinge, obwohl noch genügend Ram zur Verfügung steht.

1-2GB Swap hat bei uns jeder Server, egal wie viel Ram...

DrunkenFreak
25.01.12, 19:56
Zulässig ist alles. Bei einer Workstation benutzen einige (mich eingeschlossen) schon garkeinen Swap mehr. Bei einem Server ist es abhängig von der Anwendung. Oracle Database und FMW will immer Swap >= RAM haben. Daher würde ich ihm einfach ein bisschen geben, wie marce schon schrieb. Festplattenspeicher kostet ja nichts mehr.

Dono
26.01.12, 09:40
OK danke, dass hilft mir schon mal (etwas) weiter.
Bei Oracle steht: more than 8GB RAM = 0.75 times the size of RAM

kasumi
26.01.12, 13:57
Also ich verwende als Swap immer den RAM + etwas mehr. 4GB = 4500MB, 8GB = 8900MB, ... Wenn der Rechner mal abstürzen sollte, wird ein Abbild des RAM gerne in den Swap kopiert.

zyrusthc
26.01.12, 14:37
Wenn der Rechner mal abstürzen sollte, wird ein Abbild des RAM gerne in den Swap kopiert.
Gib mir mal nen Link wo das genauer erklärt ist.

Greeez Oli

DrunkenFreak
26.01.12, 16:40
Und was soll das Abbild des RAMs im Swap? Beim nächsten Systemstart gleich wieder einen Absturz erzeugen?

zyrusthc
26.01.12, 16:52
Und was soll das Abbild des RAMs im Swap? Beim nächsten Systemstart gleich wieder einen Absturz erzeugen?
Das ist nämlich genau das was <= WindowsXP gemacht hat.. Bluescreen und dann den RAM in den Auslagerungsspeicher geschrieben....

Greeez Oli

kasumi
26.01.12, 20:18
Gib mir mal nen Link wo das genauer erklärt ist.

Greeez Oli

Würde ich sehr gerne. Ich hab das mal gehört, wo, weiß ich nicht mehr, und es seither behalten. Ich würde mich freuen, eines Besseren belehrt zu werden. :)

ThorstenHirsch
26.01.12, 20:42
Ich schließ' mich marce an. 2 GB swap.

just4uk
26.01.12, 21:00
Und was soll das Abbild des RAMs im Swap? Beim nächsten Systemstart gleich wieder einen Absturz erzeugen?Oder während dem Startup wegkopieren nach /irgendwas.
War mal bei dem einen oder anderen OS Stand der Dinge und hat auch so funktioniert.
Aber wer analysiert den heute noch einen Dump?

Gruß aus L.E.
Uwe

johnpatcher
01.02.12, 14:42
Bei einer Workstation benutzen einige (mich eingeschlossen) schon garkeinen Swap mehr.
Gerade Workstations würde ich persönlich aber gerne in Suspend-to-RAM schicken können, insofern kann "ein wenig" Swap nicht schaden.

Bei Servern ist das natürlich etwas anderes. Die sollen in aller Regel immer laufen und am Besten gar nicht erst mit dem Swappen anfangen. Das wäre nämlich ein Anzeichen dafür, dass man zu wenig Arbeitsspeicher hat bzw. zu viele Anwendungen laufen.

Ich denke mit einer Regel, wie der von Oracle, fährt man ganz gut.

marce
01.02.12, 16:25
Bei Servern ist das natürlich etwas anderes. Die sollen in aller Regel immer laufen und am Besten gar nicht erst mit dem Swappen anfangen. Das wäre nämlich ein Anzeichen dafür, dass man zu wenig Arbeitsspeicher hat bzw. zu viele Anwendungen laufen.
Nein. Stichwort Paging.

http://www.linux-tutorial.info/modules.php?name=MContent&pageid=89

johnpatcher
01.02.12, 16:31
Nein. Stichwort Paging.

Und was willst du mir damit sagen? Paging ist ein Konzept, um von der physischen Adressierung abstrahieren zu können. Das bietet diverse Vorteile und kann (bzw. wird in aller Regel) mit dem Swapping (d.h. das dynamische Ein- und Auslagern auf einen Hintergrundspeicher) kombiniert.

Dennoch bleibt meine Aussage, dass man bei Servern das Swapping so weit wie nur irgendwie möglich vermeiden möchte, bestehen.

DrunkenFreak
01.02.12, 16:37
Die sollen in aller Regel immer laufen und am Besten gar nicht erst mit dem Swappen anfangen.

und


Ich denke mit einer Regel, wie der von Oracle, fährt man ganz gut.
Passen nicht zusammen. Wenn ich nicht will, dass der Server swappt, brauch ich mehr RAM. Mehr RAM bedeutet bei Oracle mehr Swap.

Würde bedeuten, dass ich bei 32GB RAM (was noch nicht sonderlich viel ist bei einer großen DB) 32GB Swap bereitstellen müßte. Das finde ich ein bisschen übertrieben.

johnpatcher
01.02.12, 16:38
Würde bedeuten, dass ich bei 32GB RAM (was noch nicht sonderlich viel ist bei einer großen DB) 32GB Swap bereitstellen müßte. Das finde ich ein bisschen übertrieben.

Wieso? Überlege dir mal was 32 GB zusätzlicher Hintergrundspeicher kosten. Und da sind selbst teure SSDs noch verhältnismäßig billig. Und gerade bei DBMS sind die SSDs noch nicht im vollen Umfang angekommen.

DrunkenFreak
01.02.12, 16:40
Aber man (in diesem Fall du) will doch nicht, dass der Server swappt. Was soll ich dann mit so viel Swap? Da packe ich doch lieber noch mal 16GB RAM nach.

marce
01.02.12, 16:41
Und was willst du mir damit sagen? Paging ist ein Konzept, um von der physischen Adressierung abstrahieren zu können. Das bietet diverse Vorteile und kann (bzw. wird in aller Regel) mit dem Swapping (d.h. das dynamische Ein- und Auslagern auf einen Hintergrundspeicher) kombiniert.
Paging und Swapping ist nicht das gleiche - und wird vom Kernel auch unteschiedlich gehandhabt. Paging nutzt allerdings den Swap als Speichermedium.
Paging findet fast immer statt - und nutzt auch auf extrem gut ausgestatteten Systemen den Swap - Systeme werden instabil (ok, das Wort klingt dramatischer als es in der Realität dann ist...), wenn kein Swap vorhanden ist, der für's Paging genutzt werden kann.



Dennoch bleibt meine Aussage, dass man bei Servern das Swapping so weit wie nur irgendwie möglich vermeiden möchte, bestehen.
Da stimme ich Dir zu 100% zu.

marce
01.02.12, 16:43
Aber man (in diesem Fall du) will doch nicht, dass der Server swappt. Was soll ich dann mit so viel Swap? Da packe ich doch lieber noch mal 16GB RAM nach.
Ja, mit dem Ergebniss, das Oracle dann statt 32 48GB Swap will.

... was auch ok ist - Oracle nutzt den Speicher sehr effizient und manchmal ist ein sehr planbar organisierter Swap für's temp. Auslagern von Daten besser geeignet, als ein "beliebiges Filesystem" - selbst wenn beide Speicherbereiche auf der gleichen HD liegen.

DrunkenFreak
01.02.12, 16:51
Es geht darum, dass die Regel Swap = RAM auf einem Server auch nicht das gelbe vom Ei ist. Bei Oracle vorgeschrieben (allerdings nur für die Installation, danach kann man theoretisch den Swap runterdrehen), bei anderen Diensten völlig überflüssig bei ausreichend RAM.

johnpatcher
01.02.12, 16:52
Aber man (in diesem Fall du) will doch nicht, dass der Server swappt. Was soll ich dann mit so viel Swap? Da packe ich doch lieber noch mal 16GB RAM nach.
Nur weil man nicht möchte, dass der Server swappt, heißt es ja nicht, dass er es an irgendeiner Stelle doch tut. Und dann kann es nicht schaden entsprechenden Swap zur Verfügung stellen zu können. Und, wie bereits gesagt, kann es ja durchaus (alte) Anwendungen geben, die Annahmen über den zur Verfügung stehenden Swap Speicher machen. Hintergrundspeicher ist im Vergleich zum eigentlichen System so billig, dass das absolut keine Rolle spielen sollte, gerade in der Größenordnung.


Paging und Swapping ist nicht das gleiche
Das habe ich auch nirgends behauptet, oder?


Paging findet fast immer statt - und nutzt auch auf extrem gut ausgestatteten Systemen den Swap Kannst du das denn belegen? Auf meinen Systemen jedenfalls schaut das typischerweise so aus:



[johnpatcher@vpcs ~]$ free -m
total used free shared buffers cached
Mem: 7853 2028 5825 0 89 744
-/+ buffers/cache: 1194 6658
Swap: 10239 0 10239



[johnpatcher@vpcs ~]$ cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 10485756 0 -1



Systeme werden instabil (ok, das Wort klingt dramatischer als es in der Realität dann ist...), wenn kein Swap vorhanden ist, der für's Paging genutzt werden kann. Und worauf stützt du diese Aussagen? Solange es genug Arbeitsspeicher gibt, gibt es absolut keinen Grund irgendwelche Seiten auszulagern. Damit findet nämlich genau gar kein Swapping statt.

Ich hab zwar keine Ahnung worauf du dich mit der Instabilität beziehst, wenn du aber das Thrashing meinen solltest, dann kann auch dieses bloß auftreten, wenn zu wenig Arbeitsspeicher zur Verfügung steht, siehe: https://en.wikipedia.org/wiki/Thrashing_%28computer_science%29


Es geht darum, dass die Regel Swap = RAM auf einem Server auch nicht das gelbe vom Ei ist. Bei Oracle vorgeschrieben (allerdings nur für die Installation, danach kann man theoretisch den Swap runterdrehen), bei anderen Diensten völlig überflüssig bei ausreichend RAM.
Ja, diese Regel ist wohl noch aus einem anderen Jahrzehnt. Dennoch bei Desktops/Workstations kann es aufgrund des Suspend-to-RAMs Sinn machen. Gut mit komprimiertem Swap lässt sich der Bedarf auch deutlich reduzieren. Bei Servern unter anderem wegen Programmen, die sich darauf verlassen. Im Regelbetrieb dürfte der Swap sicherlich nicht benötigt werden, kostet aber, wie oben erwähnt, sowieso relativ wenig bis gar nichts.

ThorstenHirsch
01.02.12, 18:51
Gegenbeispiel: ein Server mit Oracle drauf

$ free -m
total used free shared buffers cached
Mem: 7940 7723 216 0 194 3598
-/+ buffers/cache: 3930 4009
Swap: 11248 1681 9566

Obwohl mit rund 4GB nur ca. 50% vom RAM gebraucht werden, sind über 1,5GB im Swap.

johnpatcher
01.02.12, 19:02
Obwohl mit rund 4GB nur ca. 50% vom RAM gebraucht werden, sind über 1,5GB im Swap.

Interessant ;). Könntest du noch den Wert der Swappiness angeben? Bei mir war es die Standardeinstellung von 60.


[johnpatcher@vpcs ~]$ cat /proc/sys/vm/swappiness
60

ThorstenHirsch
01.02.12, 20:17
Morgen. Jetzt ist erst mal Feierabend. :)