[OSM-Devserver] Idee gegen Tod durch OOM

Kai Krueger kakrueger at gmail.com
Mi Apr 21 19:19:27 CEST 2010


On 21/04/10 10:41, Patrick Petschge Kilian wrote:
> Hi,
>
>> Ich habe ehrlich gesagt keine Ahnung ob das überhaupt noch geht. Ich habe
>> gerade sowohl setrlimit -r als auch ulimit -m erfolglos getestet.
> Außerdem zählt eine noch nicht genutzt Speicherreservierung natürlich nur
> zum virtual memory und nicht zum resident set, weil nicht wirklich RAM für
> verwendet wird. Du musst zum limitieren also ulimit -v und nicht ulimit -m
> nehmen. (Oder halt die Reservierung mit einer kleinen Schleife
> vollschreiben).

ulimit -m funktioniert generell unter linux nicht (mehr). Aus der man page zu 
RLIMIt_RSS: " This limit only has effect in Linux 2.4.x, x <  30,  and  there 
only  affects calls to madvise(2) specifying MADV_WILLNEED."

man muss sich also mit ulimit -v begnuegen womit es natuerlich besonders 
aergerlich ist das manche programme einfach in grossen Mengen unnutz virtual 
memory allocated "da es ja auf einem 64bit unbegrenzte ist". Geht meist aber 
trotzdem

Ich habe mal irgenwo gelesen, der Grund ist da ressident set size nicht gut zu 
definieren ist. Wie z.b. geht man mit shared libraries um oder mit sawp und mmap?

Kai

>
>
> HTH,
> Patrick "Petschge" Kilian
>
> _______________________________________________
> Devserver mailing list
> Devserver at lists.openstreetmap.de
> http://lists.openstreetmap.de/mailman/listinfo/devserver