SSD als Swap sinnvoll?

frank_kaa

New Member
Hallo,

um mich mit dem Thema Root Servern auseinander zu setzen, hatte ich mir einen alten Server bei Ebay besorgt (ich wollte mich erst zu Hause damit vertraut machen bevor ich mir einen bei einem Hoster besorge).
Mittlerweile komme ich damit auch ganz gut klar.
Jetzt würde ich mich gerne mit der Virtualisierung beschäftigen. Der Server hat 16GB Ram und 2 Festplatten im Raid.
Würde es Sinn machen eine SSD als Swap für den Host einzubauen? Oder ist der Geschwindigkeitsvorteil da zu klein?

(Sollte es hierzu schon Beiträge geben bitte ich um Verzeihung, aber mit "ssd swap" konnte ich nichts aussagekräftiges finden)
 
Hey,

SWAP auf SSD ist besser als auf normalen Platten, allerdings wirst Du nie an die Geschwindigkeit von RAM rankommen. Also lieber das Geld nicht für ne SSD, sondern für mehr Arbeitsspeicher ausgeben.
Wenn die SSD eh rumliegt, warum nicht, dann nimm sie her.

Grüsse
 
Manche verkaufen das als Feature. Ich war noch nie ein Freund von dieser Verschwendung.

Wenn man viel RAM braucht, dann soll man sich gefälligst auch RAM kaufen und nicht sein Produkt mit so einer Krücke bewerben.

Wenn der Server anfängt zu swappen, dann ist es eh vorbei mit der Leistung. Da spielt es jetzt keine Rolle ob jetzt ein Array/Liste (Datentyp) auf rotatorischen Medien oder auf SSD augelagert wird. Wenn das Programm mit der Variable irgendwas berechnen soll, dann braucht die CPU die Daten jetzt sofort und nicht ms später. Wenn erstmal begriffen hat wie viel Zeit es kostet diesen Overhead zu managen und dann auch noch auf die Daten zu warten, sollte man schnell begreifen, dass SWAP kein Ersatz für RAM ist.

Ich glaube diese Unart kommt aus der Minecraft-Spielzeugserver-Ecke.
 
Manche verkaufen das als Feature. Ich war noch nie ein Freund von dieser Verschwendung.

Wenn man viel RAM braucht, dann soll man sich gefälligst auch RAM kaufen und nicht sein Produkt mit so einer Krücke bewerben.

Wenn der Server anfängt zu swappen, dann ist es eh vorbei mit der Leistung. [...]
Sehe ich genauso. SSD für Swap ist Perlen vor die Säue geworfen. Wenn SSD im Server dann komplett mit Raid10 - das kurbelt den I/O im laufenden Betrieb an.
 
Vielen Dank für die Antworten!!
Werde mir die SSD als Swap sparen. Dachte nur, weil einige Anbieter damit werben, das es etwas ganz tolles sei. Ist wohl eher nach dem Motto "lass uns mal mit SSD werben"
 
SSDs sind zum Swappen durchaus "nett", wie ich ehrlich gesagt finde. Man sollte es nicht genau wie RAM verwenden, natürlich nicht. Aber der Unterschied ist doch deutlich, dass man swappen kann, ohne direkt halb down zu gehen. Ein paar Hundert Swap-Operationen pro Sekunde sind mir nie negativ aufgefallen was die Performance betrifft. Der Kernel sorgt schon selbst dafür, dass die wichtigsten Dinge möglichst nicht geswappt werden.

Generell eignen sich SSDs aber um Welten besser für's Disk-Caching (Flashcache, dm_cache etc.).
 
Ich hätte noch schreiben sollen: Wenn das System anfängt zu swappen, hat entweder der Programmierer etwas falsch gemacht (Memory Leak) oder der Admin hat das System zu sehr unterdimensioniert oder der Admin hat Prozesse laufen, die mehr Speicher brauchen als das System hergibt. Der Swap ist nur ein Polster, falls mal etwas schief läuft. Deswegen wäre es auch falsch völlig auf Swap zu verzichten (hab ich hier gelernt). Die SSD kann man für alles mögliche verwenden, aber den Swap darauf zu packen... Meistens gibt es dann nur zwei Extreme: System ultralangsam -> SSD wir schnell altern; System swappt nie -> SSD nie verwendet.

Linux verwendet nicht ohne Grund alle Ressourcen, die verfügbar sind. Deswegen ist auch immer fast der komplette RAM in Benutzung. Ein großer Teil davon ist der Cache. Wenn nun der RAM so voll ist, dass er swappen muss, hat man 1. kein Cache mehr und 2. die Anwendungen, dessen Teile geswappt sind, warten eigentlich die ganze Zeit auf die SSD.

Es ist unterschied ob ich 100MiB direkt im RAM habe und die Daten verfügbar sind (keine Ahnung wie schnell mittlerweile RAM ist) oder ob die CPU jetzt die 100MiB von der SSD laden muss (im Idealfall 500MB/s). Das ist nichts weiter als eine Krücke.
 
Der Swap ist nur ein Polster, falls mal etwas schief läuft.
Das ist leider so nicht ganz richtig.

Lass mal einen Linux mit z.B. 32GB Ram laufen - einfach z.B. eine CentOS-Minimal-Installation. Keine Dienste, kein gar nichts. Nach ein paar Tagen ist plötzlich ein bisschen SWAP verbraucht.

Grundlegend gilt schon, wenn SWAP verwendet wird ist irgendwo was "zu knapp" geworden - aber das muss nicht schlecht sein - für das OS macht es eben auch verwaltungstechnisch schon noch einen Unterschied, ob es eben Daten "im Hauptspeicher hat" (auch wenn es der SWAP-Anteil davon ist) oder neu von der Festplatte laden muss.

Daher - wenn man sich sicher sein kann, eine Applikation zu verwenden, bei der SWAP garantiert in Benutzung kommt und auch dann noch in dem Bereich arbeiten muss, daß die SWAP-Nutzung performancekritisch ist - warum dann nicht eine SSD nehmen?
 
Das ist leider so nicht ganz richtig.

Lass mal einen Linux mit z.B. 32GB Ram laufen - einfach z.B. eine CentOS-Minimal-Installation. Keine Dienste, kein gar nichts. Nach ein paar Tagen ist plötzlich ein bisschen SWAP verbraucht.

Weil die Teile, die nicht genutzt werden, ausgelagert werden. Hängt auch von der swapiness ab.

Daher - wenn man sich sicher sein kann, eine Applikation zu verwenden, bei der SWAP garantiert in Benutzung kommt und auch dann noch in dem Bereich arbeiten muss, daß die SWAP-Nutzung performancekritisch ist - warum dann nicht eine SSD nehmen?

Mehr RAM kaufen, Anwendung optimieren aber auf eine SSD dafür zurückgreifen halte ich für eine Ausgabe an der falschen Stelle. Kann ja jeder so machen wie er will. Bald werden wir nur noch SSD haben. Man kann aber aber die knappen Ressource einer SSD derzeit sinnvoller nutzen. Wenn es dann unbedingt SWAP auf der SSD sein soll, würde ich nicht die komplette dafür nehmen. OS drauf und eine Partition als SWAP.
 
Weil die Teile, die nicht genutzt werden, ausgelagert werden. Hängt auch von der swapiness ab.
Wer kann garantieren dass das nicht plötzlich mitten im Backup-Betrieb vom Kernel benötigt wird und die Festplatte als Resultat kurz hängt?

Wenn man auf SSD setzen will, wäre eine Kombi aus Disk-Cache und kleinem SSD-Swap immer an zu raten. Wie aber auch schon öfter hier unterstrichen - kein Swap ersetzt RAM. Wenn es kostenmäßig eine Wahl sein muss, dann RAM.
 
Wer kann garantieren dass das nicht plötzlich mitten im Backup-Betrieb vom Kernel benötigt wird und die Festplatte als Resultat kurz hängt?

Wenn ein Backup-Prozess startet, dann ist das mit aller Wahrscheinlichkeit ein neuer Prozess. Wenn dieser Prozess Libraries benötigt, die vom Kernel ausgelagert wurden, weil sie lange Zeit nicht mehr genutzt wurden, dann werden das sicherlich keine Gigabytes sein, sondern eher sehr wenige Megabytes oder gar nur Kilobytes.

Swap auf SSDs:

Wenn Speicherbereiche lange Zeit nicht mehr verwendet wurden und dann aufgrund der swapiness ausgelagert werden, dann wird es doch kein Beinbruch darstellen, wenn der laufende Prozess, dessen Teile ausgelagert wurden, mal kurz warten muss, bis die Daten wieder in den RAM geladen wurden. Denn so wichtig scheinen die ausgelagerten Seiten ja nicht zu sein.

Wenn man das nicht möchte, dann könnte man die swapiness auf 0 setzen. Wenn man dem komplett entgegenwirken möchte, könnte man sich ein Warmup-Skript basteln.

Wenn darüber hinaus viel im Swap passiert, dann wäre es vielleicht Zeit auf mehr RAM zu setzen, wenn Performance wichtig ist.

Eine andere Sache ist es natürlich wenn du bei Virtualisierung overcommitest. Wenn du dann möchtest, dass die Nutzer der Gastsysteme weniger davon mitbekommen, wäre es natürlich denkbar, eine SSD einzusetzen.
 
Last edited by a moderator:
Wenn du dann verhindern möchtest, dass die Nutzer der Gastsysteme weniger davon mitbekommen, wäre es natürlich denkbar, eine SSD einzusetzen.
Wenn der Fall eintritt, dann ist es nicht unwahrscheinlich, dass für das einlagern der geswappten Pages welche eines anderen Gastsystems ausgelagert werden müssen. Und danach ist das andere System wieder dran. Lagert ein und braucht dafür auch wieder RAM, der wiederum durch auslagern frei gemacht werden muss.
Dann hat man Swap-PingPong auf dem System und alles ist extrem zäh. Dann ist es mit der SSD eben nur noch lahm anstatt saulahm mit einer HDD.
RAM kann man eben durch nichts ersetzen außer durch mehr RAM...
 
Wusste gar nicht, dass es sowas auch gibt: http://www.gigabyte.com/products/product-page.aspx?pid=2180#ov

Diese würde ich dann aber auch eher als das einsetzen, was es ist: Als Ramdisk und nicht als Ersatz für zu wenig RAM. Schon irgendwie komisch RAM zu versuchen mit so einer PCI-E Card zu ersetzen. Dieses ganze drumherum ist langsamer als gleich viel RAM zu kaufen. Vor allem ist es günstiger.
 
Naja, manchmal kann man halt nur eine bestimmte Menge RAM in einen Server reinstecken oder es ist eben neben Ram noch anderer flotter Speicher notwendig - teilweise ergibt sich das auch aus den laufenden Anwendungen.
 
Back
Top