PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RAM und SWAP Frage



Dono
01.02.13, 11:24
Hallo!

Ich habe mal eine Speicherfrage.
free -m sagt:

1) total used fast 99% RAM, 1% free
2) user buffer/cache 40% RAM user, 60% free
somit ist noch RAM frei (Cache 60%)

allerdings nutzt der Server nicht das theoretisch freien RAM, sondern nutzt den swap Speicher.

Warum?

DrunkenFreak
01.02.13, 11:58
Stichwort swappiness

Huhn Hur Tu
01.02.13, 14:56
/etc/sysctl.conf

swappiness = 0


Habe ich jedenfalls so.


Gruss Stefan

Dono
01.02.13, 15:40
OK danke, werde ich mal ausprobieren.

Dono
04.02.13, 09:28
Hallo!

Also der Parameter wirkt schon irgendwie. Leider wird auf dem Server trotzdem das Swap benutzt, obwohl noch RAM(Mem htop in gelb) frei wäre. Dann habe ich zu wenig RAM, oder?

:confused:

marce
04.02.13, 12:46
nicht zwingend... Swap wird auch für anderes als "swapping" verwendet - ich kann nur leider aus dem Kopf heraus nicht sagen, in wie weit sich die swappiness auch darauf auswirkt...

Huhn Hur Tu
04.02.13, 14:48
vm.swappiness = 0 - it will swap only to avoid an out of memory (http://en.wikipedia.org/wiki/Out_of_memory) condition
vm.swappiness = 60 - default value
vm.swappiness = 100 - it will swap aggressvely

basti1985
05.02.13, 10:26
Es kommt zwar immer auf den Einsatz an doch bei meinen Servern (8GB bis 32GB ) schalte ich den Swap generell ab.

Dono
05.02.13, 13:16
[update]
SWAP ganz abschalten? Die einen schreiben so, die anderen so.
Ein merkwürdiges Verhalten habe ich noch:

* der Server hat sehr viel RAM
* lt MEM free (cache) ist sehr viel RAM frei

Wenn der Swap jetzt einmal benutzt wurde, wird er auch permanent weiter benutzt (vmstat zeigt es an), weil offenbar nichts (oder nicht genug) freigeben wird und Speicherseiten in den SWAP ausgelagert werden. Auf dem Server steht swappiness aber immer noch auf 60.

Auf dem anderen Server mit swappiness=0 sieht es im Moment gut aus.

DrunkenFreak
05.02.13, 17:38
Ein Server, der nur ein paar kleine Webseiten hostet, ist mit 32GB RAM gut bedient. Da kannst Swap problemlos ausschalten. Oracle z.B. will mindestens Swap = RAM haben, wenn nicht sogar doppelt soviel Swap wie RAM. Kommt halt immer auf den Einsatzzweck drauf an.

Ich hab bei einigen Servern den Swap extra hochgedreht auf 1GB und den RAM dafür auf unter 256MB. Speicher dürfte er genug haben damit, Performance ist nicht so wichtig.

Dono
06.02.13, 09:33
Der Server, der nicht mehr swapte, swapt jetzt wieder permanent. Wenn er erst einmal damit angefangen hat, hört er auch nicht mehr auf. Eine Oracle DB läuft auch auf dem Server.

basti1985
06.02.13, 09:42
Also mal ganz ehrlich swap ist von der Geschwindigkeit nicht schneller als ne Festplatte. Wenn das ding nun 8, 12 oder noch mehr GB RAM hat und der anfängt den Swap zu nutzen solltest du vielleicht auch einmal deine Config überdenken.

marce
06.02.13, 10:39
Nochmal: Swapp-Nutzung heißt nicht automatisch, daß der Server zu wenig Ram hat.

ThorstenHirsch
06.02.13, 11:42
Nur wenn die io-wait (top) ansteigt, solltest du dir Gedanken machen. Die sollte im Normalfall bei (nahezu) 0.00 liegen.

Dono
06.02.13, 12:28
%wa steigt zeitweise auf 60%

marce
06.02.13, 12:32
... und was passiert in dem Moment? HD? Netzwerk? ...?

Dono
06.02.13, 14:09
Noch nicht ganz gesichert, aber es sieht wohl so aus:
wa und swap si steigen oft zur gleichen Zeit an (aber nicht immer). Die CPU wartet wohl auf Daten die in SWAP liegen. Diese Speicherblöcke wären wohl im RAM besser untergebracht.
[update]
Es ist ein Applikations-Problem (Applikation+OS). Ich habe mich an der Hersteller gewandt. Wenn es dazu was neues gibt, werde ich es hier vermerken. Betroffen ist aber nicht nur Linux.