Warum ist mein Swap so voll?

rik

Lernender Unwissender.
Hallo. :)

Ich wollte mal FreeBSD ans Ende seiner Leistungen bringen, und hab einfach mal 7 VMs geöffnet und alle Anwendungen geöffnet, die ich installiert hatte. Der RAM war zu 2GB belegt und Swap zu 1.9. Warum? Ich habe 8GB RAM verbaut und hab AMD64.. wieso macht FreeBSD nicht den RAM voll? Ich hatte erwartet, dass bei einer derartigen Beanspruchung die RAM-Auslastung auf 7GB hochgehen wird und der Swap bis auf wenige Bytes leer bleibt.
 
Mit dieser "Fülle" an "Informationen" die du uns da grade gegeben hast wirds schwierig dir eine sinnvolle Antwort zu geben.

Da fehlt z.B. welche FreeBSD Version, Dateisystem, evtl. gesetzte sysctls die das beeinflussen könnten, was genau meinst du mit "VMs", welche und wie viele Programme hast du geöffnet, läuft da ein Desktop,...
 
ohne eine Antwort auf dieses Problem zu wissen, versuch es doch nochmal mit swapoff und ohne überhaupt SWAP zu nutzen. Bei 8GB sehe ich keinen Grund (aus Funktions- oder Stabilitätsgründen) einen Swap zu nutzen.
 
@pit234a
ich gehe davon aus, dass der GENERIC-Kernel SWAP-space voraussetzt bzw erwartet.
Für Systeme ohne SWAP gibts die Kernel option "NO_SWAPPING", sowie div. sysctls

Ich sehe eher keinen Grund auf swap-space zu verzichten:)
(Plattenplatz ist billig geworden, 1TB auf einer Platter, heute auf Golem gelesen)
 
@auge
Setzt er wohl nicht voraus. Ich habe einen Generic-amd64 einfach auf einen USB-Stick installiert und es hat auch ohne funktioniert.
Ich sehe eher wie pit234a keinen Grund mehr für Swap (eigentlich noch nie!). Denn entweder passt's ins RAM oder ich rüste ihn nach. Meist läuft doch dann irgendetwas so Amok, dass kurz danach der Swap auch voll ist.
 
@pit234a
ich gehe davon aus, dass der GENERIC-Kernel SWAP-space voraussetzt bzw erwartet.
Für Systeme ohne SWAP gibts die Kernel option "NO_SWAPPING", sowie div. sysctls

Ich sehe eher keinen Grund auf swap-space zu verzichten:)
(Plattenplatz ist billig geworden, 1TB auf einer Platter, heute auf Golem gelesen)

Dann wartet der GENERIC dann bei mir aber vergeblich!
Diese Diskussionen führe ich nun schon seit ziemlich langer Zeit und zwar schon, als RAM noch teuer war und ich noch nichts von FreeBSD wusste.

Es gibt gute Gründe dafür, einen SWAP einzurichten und dafür eine Partition zu nutzen und nicht etwa ein File. Das will ich nicht leugnen und es braucht mich deshalb auch niemand davon zu überzeugen.
Die Möglichkeiten eines angepassten Kernels und die Liste der sysctl-Möglichkeiten in FreeBSD sind für mich undurchschaubar, deshalb werde ich dazu niemals etwas fundiertes sagen können. Ich bleibe auch mit FreeBSD ein unbedarfter Oberflächen-Nutzer, der gar nicht erst vorgibt, etwas vom System zu verstehen. Da werde ich also niemals mit jemanden in einen Wettstreit der Argumente treten.

Was ich aber kann, das ist meinen gesunden End-Nutzer Menschenverstand einschalten und fragen, was denn passiert, wenn SWAP da ist und vom System genutzt werden kann:
Es wird irgendwann dahin kommen, dass er genutzt wird.

Das bedeutet, dass Teile des sehr langsamen Mediums Festplatte als Ersatz für nicht vorhandenen RAM benutzt werden. Festplatten sind im Vergleich zu RAM sehr langsam, sehr sehr langsam sogar. Deshalb steht ohne Zweifel fest, dass alle Aktionen langsamer werden müssen, wenn reichlich SWAP benutzt wird.
Swap zu benutzen ist also im Betrieb eines Rechners mal grundsätzlich nicht erstrebenswert. Viel besser ist, ausreichend RAM zu haben.

Was bedeutet ausreichend RAM?
Darauf gibt es sicher keine allgemeingültige Antwort, denn das hängt sehr vom jeweiligen Nutzer und den eingesetzten Programmen ab.
Sehen wir mal nach FreeBSD und was da gesagt wird:
http://www.freebsd.org//doc/de_DE.ISO8859-1/books/handbook/install-hardware.html
erklärt 24MB RAM. Nunja, damit werden wir wahrscheinlich nicht viel Spaß haben, da sind wohl alle einig.
Aber lass mich mal auf meine aktuelle HW sehen. Da habe ich einen i386er mit 2GB RAM laufen und der hat keinen SWAP. Wenn ich den mit SWAP wollte, wieviel würde ich da nehmen? Laut den gebräuchlichen Vorschlägen: 2 x RAM, also 4GB SWAP. Das macht zusammen 6GB maximal. Wenn ich nun einen PC habe, der schon 8GB eingebaut hat? Soll ich dann nochmal 16GB dazu nehmen?
Welchen Sinn soll das machen, je mehr RAM ich habe, desto mehr SWAP?

Natürlich: für Dumps und als Hybernations-Partition und als was weiß ich, da macht das Sinn. Wie gesagt, ich leugne das gar nicht. Aber zum Arbeiten?
Probiert es doch einfach mal aus.

Meine Probiererei mit GNU/Linux und FreeBSD sagt, dass etwa ab 1.5GB RAM zum "normalen" Arbeiten als Desktop kein SWAP gebraucht wird.
Jeder wird vielleicht eigene Erfahrungen machen und es kann ja statt SWAP als Partition ein File genommen und dann Grenzen herausgefunden werden.
Ganz einfach aber: wer 8GB RAM hat, kann einfach mal den SWAP abschalten und sehen, was passiert.
Ich wette: es gibt keinerlei Probleme!
 
Bei den heutigen Festplattenpreisen wären allein Kerneldumps für mich Grund genug 1,x mal RAM als Swap einzurichten. Dein System wird nicht langsamer bloß weil Swapspace vorhanden ist. FreeBSDs Kernel ist sehr gut darin Swap nur im Fall eines Mangels an RAM zu verwenden; allderdings bereitet sich FreeBSD auf diesen Fall vor und kopiert, wenn es nix besseres zu tun hat, lange nicht mehr benutztes RAM als Vorbereitung in den Swap damit es im Zweifelsfall freigeben werden kann.
 
Oder um mit gimp zu arbeiten. Mehr als 8gb RAM bekomme ich nicht ins Notebook, da wird halt schon mal geswappt.
 
Und wem ein gefüllter Swap stört, weil ja wieder RAM frei wurde durch beenden der Arbeit, kann ja mit swapoff -a den Swapspace aushängen und mit swapon -a wieder einhängen, damit sollte auch der Space wieder frei sein.
 
ja, aber ich arbeite auch mit GIMP und habe nur 2GB RAM im kleinen Asus Netbook und der kann auch gar nicht mehr.
Ich will nicht leugnen, dass jemand auch 8GB und mehr RAM voll bekommen kann. So nutze ich auch ein tmpfs und habe das zusätzlich auf die 2GB gelegt.
Der Asus ist vielleicht ein schlechtes Beispiel, weil er wirklich nicht DER Arbeitsrechner für die Arbeit mit GIMP ist!
Aber ich erinnere noch die Zeiten, wo 64MB RAM in einem Rechner viel waren und ich habe selbst einige im Betrieb und zwar mit Grafik, also X und einem Desktop-Environment, die maximal 1GB RAM verbaut haben. Nun will ich nicht behaupten, dass diese PCs die reinsten Düser sind, aber ich habe damit gearbeitet und auch GIMP benutzt und OOo und im Grunde einfach alles, was ich heute auch nutze. Damals hatte ich stets der allgemeinen Anweisung folgend 2 x RAM also maximal 2GB SWAP benutzt (wobei nach meiner Beobachtung Linux damit effektiver umgeht, als FreeBSD). Kurze Zeit davor hatte ich noch Rechner mit 500MB RAM im EInsatz und die dann natürlich mit 1GB SWAP betrieben, also mit 1,5GB insgesamt.

Nun macht mir doch niemand weis, dass ich immer mehr RAM verbaue und trotzdem immer mehr SWAP brauche (und ich rede nun nicht von DUMPs oder Hibernations-Szenarien).
Wenn ich ihn habe, wird er benutzt. Habe ich ihn nicht, geht es trotzdem gut!
Wenn nicht, dann sollte ich lieber mehr RAM kaufen, der kostet ja auch nicht mehr die Welt.

Es sollte hier mit meinem Beitrag keine Grundsatzdiskussion losgetreten werden, das hilft dem Thread-Starter ja auch nicht und wir hatten das vor einigen Monaten genau gleich (allerdings damals noch mit PCs mit weniger RAM) schon mal durch. So mann ein solches Thema jemals durch haben kann.
Letztlich wird es jeder für sich selbst entscheiden und nochmal: natürlich braucht jemand SWAP, der System-Dumps des letzten Absturzes lesen will! Ich kann das nicht und mein System stürzte bis vor kurzem nie ab und seit 8.2RELEASE erst zweimal, scheinbar wegen des neuen tmpfs, aber vielleicht auch wegen "schlechter SW".
Das will ich gar nicht in Abrede stellen und dass Festplatten immer billiger und immer größer werden und deshalb der Kostenfaktor für eine SWAP-Partition nicht mein Argument sein kann, ist auch klar. Auch ich habe eine SWAP Partition angelegt, aber ich habe sie abgeschaltet und nutze sie inzwischen anders, könnte sie aber leicht reaktivieren.
Ich würde niemals jemandem raten, ein System neu auszusetzen und die SWAP-Partition weg zu lassen!

Aber den Betrieb ohne SWAP, sollte jeder mal testen, zumindest jeder, der mehr als 1.5GB RAM im Rechner hat.

Dem Thread-Starter wollte ich das nahe legen, um mal zu sehen, wie es sich dann verhält: wenn kein SWAP da ist, kann der nicht vorzeitig gefüllt werden. Wenn wirklich Anwendungen diesen Platz brauchen, dann müssten sie folglich nun RAM benutzen und sein Speicher würde rasch zu Ende gehen. Einen solchen Test fände ich an dieser Stelle interessant, eben auch vor der ständigen Diskussion um den SWAP.
 
Zurück
Oben