Torsten Foertsch wrote:
[...] D.h. wenn der oom-killer nie in Aktion treten soll, muß ratio=0 sein. Sinnvoll ist das sicher nicht, da die meisten Programme wohl die eine oder andere Seite sinnlos anfordern.
Ich verstehe Deinen Gedankengang nicht. Wenn kein Speicher mehr zur Verfuegung steht, der von Programmen tatsaechlich gebraucht wird, dann ist das Ende der Fahnenstange erreicht, ob mit oder ohne overcommit. overcommit erlaubt Dir lediglich, Speicher in gewissen Faellen effizienter zu nutzen. Aber das geht nicht mit allen Programmen.
[...] Trotzdem verstehe ich den Sinn dieser Formel nicht:
total address space = swap + ratio * physical RAM
Danach sollte doch der Adreßraum bei z.B. 3GB swap und 1GB RAM auf 3.5GB begrenzt sein. Der gesamte verfügbare Speicher von 4GB wird also nicht ausgenutzt? Das ist irgendwie unlogisch.
Die ausfuehrliche Formel lautet: address space = swap + (1.0 + overcommit_ratio/100.0) * RAM Bei 3GB swap und 1GB RAM ergibt sich bei overcommit_ratio=50: 3GB + (1.0+50/100.0) * 1GB = 3GB + 1.5 * 1GB = 3GB + 1.5GB also angeblich 4.5GB virtueller Adressraum. Dieser kann genutzt werden, wenn nicht alle Programme gleichzeitig ihren allokierten Speicher auch tatsaechlich benutzen. Wenn all die laufenden Programme allen ihren allokierten Speicher wirklich brauchen, wird das overcommit nicht funktionieren und der OOM Killer wird aktiv. Genau wie bei Flugzeugen, die ueberbucht werden - wenn zum Abflug tatsaechlich alle Passagiere erscheinen, dann bleiben da ein paar auf der Strecke.
Andererseits nach Deiner Argumentation oben käme Swap hier nochmal dazu, also
total address space = 2 * swap + ratio * physical RAM
Nein, wieso sollte da 2*swap erscheinen, das habe ich auch nicht geschrieben.
[...] Ist die erste Formel richtig, würde ratio=100% bedeuten, es darf der gesamte RAM und der gesamte Swap benutzt werden. Dann wäre aber die default-Einstellung von ratio=50 irgendwie Quatsch. Die 2. Formel ist totaler Quatsch.
Ich glaube nicht, dass Du overcommit / Speichermanagement wirklich
verstanden hast (ich wuerde mich auf dem Gebiet allerdings auch nicht
als Experten bezeichnen, nur programmiere ich ziemlich viel).
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#include
Wenn ich mir jetzt ein System ohne Swapspace vorstelle und ratio=0 setze, dann kommt nach der ersten Formel:
total address space = swap + ratio * physical RAM = 0 + 0 *X = 0
raus. Das System hat also keinen Adreßraum zu vergeben. Irre.
Falsch. VM = RAM in diesem Falle, 0+(1.0+0/100.0)*RAM = RAM. Cheers, Th. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org