On Thu 06 Dec 2007, Thomas Hertweck wrote:
Torsten Foertsch wrote:
[...] wie stellt man am besten den oom-killer ab?
Warum sollte man das tun wollen?
Nun z.B. weil man will, daß auch der Prozess gekillt wird, der zu der oom Condition geführt hat. Auf dem Rechner läuft eine Postgres-Datenbank, die ca. 2GB Adressraum belegt. Wenn nun der oom-killer einen geeigneten Prozess zum killen sucht, erscheint ihm die DB am geeignetsten, weil er damit durch das Killen von nur einem Prozess eine große Menge Speicher kriegt. Leider ist die DB für mich aber bei weitem nicht der geeignetste Prozess, um per SIGKILL getötet zu werden. Egal, ich habe das Problem inzwischen gelöst: echo 2 >/proc/sys/vm/overcommit_memory oder sysctl -w vm.overcommit_memory=2 Die Kiste hatte 4GB RAM + 2GB Swap. Ab und zu (nachts) läuft dort ein Prozess zusätzlich zur DB, der einen großen Klumpen Speicher braucht. Mir wäre es nun viel lieber, wenn der Kernel diesen zusätzlichen Prozess killen würde, oder noch besser, wenn er dem Prozess beim malloc sagen würde: "leider kein Speicher mehr da", als einfach zu einem unbestimmten Zeitpunkt Prozesse zu killen. Was ich noch nicht richtig verstanden habe ist der richtige Wert für overcommit_ratio. Default ist 50. Heißt das nun, daß ein alle Prozesse gemeinsam+Kernel einen Platz von swap+0.5ram belegen dürfen? Ist das nicht Verschwendung? 0.5ram wird doch dabei irgendwie nicht benutzt, oder? Ich habe irgendwo auch als Beispiel gelesen, daß eine Maschine mit 1GB RAM und 1GB Swap mit dieser Einstellung als 2.5GB Maschine betrachtet würde. Das widerspricht dem doch aber? Ich dachte immer swap+ram ist der Platz, den alle Prozesse gemeinsam + Kernel belegen können. Ist das falsch? Ich habe hier eine Kiste mit 4GB RAM und 4GB Swap. Nach overcommit_ratio=0 meldet mir /proc/meminfo ein CommitLimit von 4GB. Mit ratio=100 entsprechend 8GB, also RAM+Swap. Was ist nun richtig, damit der Kernel unter gar keinen Umständen den oom-killer anwirft? Torsten -- A: It reverses the normal flow of conversation. Q: What's wrong with top-posting? A: Top-posting. Q: What's the biggest scourge on plain text email discussions? -- 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