ulimit, Stack Size und realtime abfrage

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
tafkad
Beiträge: 282
Registriert: 22.09.2004 13:54:26

ulimit, Stack Size und realtime abfrage

Beitrag von tafkad » 05.05.2009 10:03:05

Hallo,

ich stehe vor einem kleinen Problem wo ich noch keine Lösung für gefunden habe. Wir setzen hier ein PHP Script ein, was recht große Strings umwandelt. Leider laufen wir grundsätzlich ab einer bestimmten Größe in ein Segfault rein. Nun, das Problem ist das das Limit des Stacksize überschritten wird. Nun suche ich eine Möglichkeit die derzeitige Größe des Stacks abzufragen, bin abe rnoch nicht fündig geworden. Hat hier vielleicht jemand eine Ahnung wie man dies abfragen kann? Also nicht das derzeitige Limit, sondern die derzeitige Größe des Stacks.

Gruß tafkad

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: ulimit, Stack Size und realtime abfrage

Beitrag von gms » 06.05.2009 21:30:05

Ich kenne PHP nicht, aber es ist allgemein unüblich größere Speicherbereiche über den Stack zu allokieren.
Die aktuelle Stacksize bekommst du über /proc/$PID/smaps bzw /proc/$PID/maps raus, oder du schreibst dir ein kleines C-Programm mit der Funktion "getrusage"

Nachtrag:
Die "getrusage" Routine müßte im gleichen Kontext laufen, das geht z.B über eine Shared Library, die über LD_PRELOAD gemeinsam mit PHP geladen wird.

Gruß
gms

tafkad
Beiträge: 282
Registriert: 22.09.2004 13:54:26

Re: ulimit, Stack Size und realtime abfrage

Beitrag von tafkad » 27.05.2009 14:59:32

Ok, Danke, werde das ganze mal testen.

Bisher sah es aber nicht wirklich erflogreich aus, da die PHP Version alles was Speicherbetreffend ist mit 0 ausgibt.

Antworten