PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : overcommit memory?



Basti_litho
26.10.02, 11:40
hallo,

ich hab jetzt schon 'ne weile gegooglt - bin aber nicht zu einer verständlichen erklärung gekommen.
Wer kann mir das mit "overcommit memory" erklären?

Das Problem war, dass einige Programme gekillt wurden aufgrund von "overcommit memory". Darunter auch Samba.

Diese Infos habe ich aus dmesg - muss vor ein paar tagen passiert sein, als ich es entdeckt habe lief Samba wieder.

Daher die frage, ich verstehe das prinzip nicht - wenn (zu)viel Speicher angefordert wird, werden dann nicht aktive Programme gekillt? und falls das Programm welches den Speicher angefordert hat beendent ist, wieder gestartet??

Evtl. hat ja jemand von euch auch ne gute Info-Seite??

Danke!

Gruß,
Basti

Jasper
26.10.02, 12:50
ich hab jetzt schon 'ne weile gegooglt - bin aber nicht zu einer verständlichen erklärung gekommen.
Wer kann mir das mit "overcommit memory" erklären?


wenn 'overcommit memory' eingeschaltet ist ( > 0) können prozesse einfach mehr speicher als vorhanden reservieren. manche prozesse reservieren sich vorsorglich speicher, den sie dann aber gar nicht nutzen. m.E. ist overcommit eine krücke um fehlerhafte software trotzdem laufen zu lassen.



Das Problem war, dass einige Programme gekillt wurden aufgrund von "overcommit memory". Darunter auch Samba.

Diese Infos habe ich aus dmesg - muss vor ein paar tagen passiert sein, als ich es entdeckt habe lief Samba wieder.

Daher die frage, ich verstehe das prinzip nicht - wenn (zu)viel Speicher angefordert wird, werden dann nicht aktive Programme gekillt? und falls das Programm welches den Speicher angefordert hat beendent ist, wieder gestartet??

Evtl. hat ja jemand von euch auch ne gute Info-Seite??
[/B]

http://linux-mm.org/docs/oom-killer.shtml

wenn der kernel absolut keinen speicher (physikalisch+virtuell+overcommit) mehr frei hat und ein kernel-prozess welchen braucht, werden nach bestimmten kriterien (z.b. nicht-interaktiv, grosser speicherverbrauch, etc) prozesse ausgesucht, die dann gekillt werden, damit das system an sich lauffähig bleibt. die prozesse werden nicht wieder gestartet.

-j

Basti_litho
26.10.02, 13:19
Vielen Dank!! :)

Das war genau das was ich wissen wollte. :)


Gruß,
Basti