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
ulimit, Stack Size und realtime abfrage
Re: ulimit, Stack Size und realtime abfrage
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
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
Re: ulimit, Stack Size und realtime abfrage
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.
Bisher sah es aber nicht wirklich erflogreich aus, da die PHP Version alles was Speicherbetreffend ist mit 0 ausgibt.