phpbar.de logo

Mailinglisten-Archive

[php] Frage zu memory_limit

[php] Frage zu memory_limit

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Don Jul 5 09:33:40 CEST 2007


Hallo,

ich habe in der Vergangenheit immer wieder mal in meinem PHP-Fehler-Log 
einen Eintrag wie den folgenden gefunden:

[Fri Jun 29 08:51:05 2007] [error] [client **.*.**.***] PHP Fatal error:  
Allowed memory size of 8388608 bytes exhausted (tried to allocate 130 
bytes) in /.../PEAR/Cache/Lite/Function.php on line 185

Grundsätzlich ist mir schon klar, was die Meldung bedeutet, und ich habe 
die Meldung auch erfolgreich dadurch beseitigt, daß ich die erlaubte 
Speichergröße verhältnismäßig geringfügig von 8 auf 10 MB erhöht habe.

Was mich aber interessiert ist folgendes:

Selbst wenn der Smarty-Cache komplett geleert ist, brauchen meine 
Skripte zur Verarbeitung keiner einzigen Seite 8 MB Arbeitsspeicher. 
Der Grenzwert wird nie überschritten. Wie kann es also sein, daß der 
Wert in bestimmten Situationen doch überschritten wurde?

Wenn ich im Handbuch zu memory_limit gelesen habe, "Setzt den 
Maximalwert des Speichers in Byte, den ein Skript verbrauchen darf.", 
dann habe ich immer gedacht, daß sich das auf jede einzelne Ausführung 
des Skripts bezieht. Scheinbar habe ich da etwas falsch gedacht.

Bezieht sich das Speicherlimit vielleicht auf die Summe aller 
gleichzeitigen Ausführungen eines Skripts, und es wurde wegen einer 
besonders hohen Anzahl von Seitenaufrufen überschritten? Oder spielen 
noch andere Faktoren in die Verwaltung des Speichers mittels 
memory_limit mit herein?


VieleGrüße
Lutz

php::bar PHP Wiki   -   Listenarchive