Mailinglisten-Archive |
Hallo! :-) Am Donnerstag, 5. Juli 2007 schrieb Lutz Zetzsche: > 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? hat wirklich keiner eine Idee? Ein Hinweis, ob ich mit meiner ursprünglichen Interpretation der Wirkung von memory_limit richtig liege oder nicht, wäre auch schon einmal etwas. :-) Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive