PHP und memory_limit mit Apache2

kai_001

Well-Known Member
Hi,

ich habe auf einem 4.10er FreeBSD Apache 2.0.54 mit php4.10 und einkompiliertem memory_limit laufen.

Setze ich in der php.ini memory_limit auf -1 ( oder andere Werte ), bricht ein Script von mir immer bei 170MB Speicherverbrauch ab.

Die Fehlermeldung dazu: FATAL: erealloc(): Unable to allocate 177459201 bytes

Habe das Script auch per cli aufgerufen, dass selbe Ergebnis. Also dürfte der Apache schonmal nicht der Verursacher sein. Woher kommt dieses Limit? Hat jemand einen Tipp für mich?


Danke und Gruß
Kai

Im Anhang noch 2 Ausgaben --->

-bash-2.05b#ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) 524288
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 11095
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 65536
cpu time (seconds, -t) unlimited
max user processes (-u) 5547
virtual memory (kbytes, -v) unlimited

-bash-2.05b# uname
FreeBSD 4.10-RELEASE
 
ok ... habe in kernel.lint folgendes gefunden:

options MAXDSIZ="(256*1024*1024)"
options MAXSSIZ="(256*1024*1024)"
options DFLDSIZ="(256*1024*1024)"

maxdsize muss ich dafür wohl erhöhen und den kernel neu kompilieren ... kann man dass eventuell auch anderes lösen?

Danke und Gruß
Kai
 
Diese Optionen kannst du auch in der /boot/loader.conf setzen.

DFLDSIZ ist das Soft-Limit pro Prozess (hier 256MB).
MAXDSIZ ist das Hard-Limit pro Prozess (hier 256MB).
MAXSSIZ ist das Hard-Limit der Stack-size (hier 256MB).

Wenn ich das noch richtig in Erinnerung hab, kann gerade nicht nachschauen. Ob dir diese Optionen allerdings helfen, wenn du bei Limit 256 bereits Abbrüche bei 170MB hast - kA.

Oh, und eine persönliche Frage - was macht das Skript, dass es derart Speicher braucht?
 
Hallo,

danke für die Infos.

Mein Testscript füllt eine Variable solange es geht ... dass eigentliche generiert aus Bildern PDF's.


Gruß
Kai
 
Es besteht die Möglichkeit, dass du für die ESA arbeitest und irgendwelche Satellitenaufnahmen konvertierst, ja. Aber meinst nicht, dass 170MB im Allgemeinen ausreichen sollten?
 
Hast du eine Möglichkeit den Speicher Konsum bisschen unter Entzug zu stellen?
Zumbleistift durch Seitenweises Abarbeiten.

Weil nur mal angenommen Dein Skript wird durch den Apache mehrfach aufgerufen kann es sehr schnell anstrengend für deinen Server werden :cool:

Gruß
paefchen
 
Hallo,


nein ... dass passt schon :-) ... das Script wird nur 2mal in der Woche genutzt. Und es gibt nur wenige Sachen die diese Größe erreichen ... aber auch die müssen erfolgreich konvertiert werden.


THX und Gruß
Kai
 
Du weißt das du in php dateien stück für stück einlesen und bearbeiten kannst ohne sie komplett in den Speicher zu laden?
 
Zurück
Oben