[Python-de] Python, Linux und der oom-Killer

Gerhard Häring haering_python at gmx.de
Sat Oct 19 17:58:53 EDT 2002


* Gerson Kurz <Gerson.Kurz at t-online.de> [2002-10-19 16:22 +0200]:
> Gerhard Häring wirft in die Runde
> 
> > An die anderen: scheinbar bringt es auch nix, dem Python-Prozess mittels
> > ulimit Grenzen für Heap- und Stack-Verbrauch zu geben (oder, Gerson,
> > dachte das hättest du damals ausprobiert?).
> 
> Ja, habe ich. Allerdings wurde der Rechner inzwischen mal gebootet - gelten
> die Grenzen weiterhin?

Nein. Man kann die bei SuSE IIRC irgendwo in /etc/ setzen. Wenn das
nicht auf die Schnelle zu finden ist, würde ich einfach ein
Wrapper-Script schreiben, das zuerst die Limits setzt, dann das
Python-Skript startet. Die Limits gelten übrigens *nur* für die Shell,
in der sie gesetzt wurden und deren Kindprozesse.

Hab jetzt gerade auf ner SuSE-Kiste geschaut, du setzt das am Besten in
/etc/profile.local, vielleicht so:

ulimit -c 50000   # only core-files less than 50 MB are written
ulimit -d 200000  # max data size of a program is 200 MB
ulimit -s 60000   # max stack size of a program is 60 MB
ulimit -m 260000  # max resident set size is 260 MB

> Falls ja, müsste man sie ja aktuell abfragen können.

ulimit -a

Für den Fall das du jetzt aber dein Skript in /etc/init.d starten lässt,
weiss ich jetzt nicht, ob für diese /etc/profile überhaupt ausgelesen
wird. Weiss das vielleicht wer anderes hier? Ansonsten kann man ja
vielleicht im Startskript ein "ulimit -a" absetzen und das überprüfen.

HTH,

-- Gerhard




More information about the Python-de mailing list