PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : stripped down to the bones



tholan
20.12.04, 13:30
Hätte da mal 'ne ganz allgemeine, prinzipielle Frage:
Es gibt da eine Faustregel, die wahrscheinlich jeder
schon mal gehört hat:
Swap- Partition immer etwaige Größe des Hauptspeichers.
Ich habe nun nicht viele Server am laufen und
wenn ich in der bash arbeite, wird quasi nie "geswappt".
Ein System ist doch an und für sich schneller,
wenn es ohne diesenn Vorgang auskommen kann, und garnicht
erst auf die Idee kommt, Hauptspeicher auszulagern.
Die Programme sollte es doch eigentlich auch nicht interressieren,
ob die ihren Speicher aus dem RAM, oder von der HD beziehen.
Die Regel swap = RAM scheint mir doch in sich nicht
ganz logisch, wenn ich 'nen 64MB Rechner mit 64MB swap
parallel zu 'nem 128MB Rechner mit 128MB swap
laufen lasse, (Monster- Distri- User nicht lachen!)
und die verhältnismäßige Performance bei gleicher
Auslastung annähernd gleich bleibt.

Isses' fatal, wenn man die swap Unterstützung aus dem
Kernel nimmt, wenn man genug Speicher hat?

Tomek
20.12.04, 13:34
Isses' fatal, wenn man die swap Unterstützung aus dem
Kernel nimmt, wenn man genug Speicher hat?
Nein, du musst kein SWAP haben.

Lupin
20.12.04, 13:35
Wo soll der Vorteil sein, wenn dein Kernel kein swap drin hat? So wenig arbeitsspeicher wirst du jetzt auch wieder nicht haben...
Und wenn dann halt doch irgendwann mal der Arbeitsspeicher zur neige geht, dürftest du ohne swap Probleme kriegen ;)

hakker82
20.12.04, 13:36
ab 256 MB sollte man keine Schwierigkeiten bekommen.
aber wehe der Speicher geht aus, dann kann man das Kompilieren vergessen.

Columbo0815
20.12.04, 13:48
ab 256 MB sollte man keine Schwierigkeiten bekommen.
aber wehe der Speicher geht aus, dann kann man das Kompilieren vergessen.

Wenn man den Rechner als Wärmeproduzent benutzen will, ist das richtig. 256 MB sind recht schnell voll, gerade wenn er als Server eingesetzt wird. Ausserdem gibts bei Servern die Regel: Er soll laufen. Wenn der Speicher volläuft und kein Swap da ist, beendet der Kernel unnötige Prozesse (die, die der Kernel als nicht überlebensnotwendig erachtet).

Bei den Festplattenpreisen kann man immer RAM*2 nehmen und ist somit auf der sicheren Seite. Ob die nie genutzt werden ist an dieser Stelle wohl zweitrangig. Sobald einmal die Situation kommt hat es sich rentiert.

Noch dazu verwaltet der Kernel den Speicher intelligent. Ungenutzter Speicher ist unnötiger Speicher und deswegen wird gechached. Sachen die derzeit nicht gebraucht werden legt der Kernel gerne mal in den Swap, damit mehr gecached werden kann, was Performance bringt.

Ich bin für Swap-Partitionen.

nordi
20.12.04, 14:20
Ausserdem gibts bei Servern die Regel: Er soll laufen. Wenn der Speicher volläuft und kein Swap da ist, beendet der Kernel unnötige Prozesse (die, die der Kernel als nicht überlebensnotwendig erachtet).


Das kann man aber auch als Argument gegen Swap nehmen. Falls dir irgendwann mal ein Prozess in eine Endlosschleife kommt und permanent RAM anfordert, dann wird ein System mit großem Swap für einige Minuten furchtbar langsam weil ständig geswapt wird. Während dieser Zeit ist dein System praktisch ausgefallen!

Wenn dann auch der swap knapp wird killt dein Kernel den Prozess in der Endlosschleife. Falls die Endlosschleife durch eine Fehlkonfiguration aufgetreten ist: Glückwunsch, du hast dich grade aus dem System ausgesperrt.

Wenn du kein Swap hast wird der Prozess schon nach wenigen Sekunden gekillt und es bleibt nix übrig als ein Logeintrag. Bei einer Fehlkonfiguration bleibt dein sshd weiter erreichbar und du kannst den Fehler leicht beheben.

Es gilt also wie immer: Vorher nachdenken wofür das System gedacht ist und es dementsprechend einrichten. Wenn man (wie ich) nur den Arm zum Resetschalter bewegen muss und es eh keinen stört ist dein Argument richtig. Wenn man erst im Rechenzentrum anrufen muss und die Kunden sich wegen der Downtime beschweren sieht die Sache anders aus.

tholan
20.12.04, 15:10
Frage für mich ausreichend vom Moderator beantwortet.
Dem glaub' ich erstmal, daß es den Programmen wurscht is,
wo sie ihren Speicher herkriegen (danke).

Ich hab' 'ne menge alten Computerschrott rumstehen
und bastel auch sehr gerne.
Bei mir geht' s halt in Richtung "embedded".
Stichwort: "Mach flott den Schrott"
Neuere Windosen sind halt echte Klötzer und
kaum klein zu kriegen.
Mein DRDOS kann zwar "multitasken", die
Interprozesskommunikation ist allerdings
nicht vorhanden und wer gibt sich Heutzutage noch
mit 16Bit Speicheradressierung ab?
Die Frage ging halt mehr an Elektroniker
und Hardwarefreaks.
Wichtig ist mir halt die Skalierbarkeit
eines BS.
Soll ja mit Kernel 2.6x wohl auch verbessert worden sein.
(Weiß schon: RTFM!... ufff!)

habt Dank.

tholan

ps.
Thema swap, oder nicht scheint mir aber für die
Netzwerk- Leute auch nicht uninterressant zu sein...

drunkenPenguin
20.12.04, 15:47
Zum Thema Swap ... - gehoert hier nicht so recht hin - aber in Verbindung mit 'hibernate' sollte man sich durchaus ueberlegen, wie gross man den Swap macht.

Columbo0815
20.12.04, 21:06
Frage für mich ausreichend vom Moderator beantwortet.
Dem glaub' ich erstmal, daß es den Programmen wurscht is,
wo sie ihren Speicher herkriegen (danke).

Lass dich nicht von dem "Status" Moderator auf eine falsche Fährte führen. Der "Status" hat nichts mit der generellen Linux-Kompetenz zu tun. ;) Es kann durchaus sein, dass das Geschriebene nicht 100% stimmt. Es ist teilweise meine Meinung und meine Erfahrung. Gegenargumente sind ja bereits gebracht worden, die aber (wieder meine Meinung) nicht wirklich dagegen halten können.

Gruß Columbo