Hallo,
ich habe ein recht speicherintensives script, welches Datensätze aus einer DB ausließt. Mein memory_limit in der php.ini steht bei 512MB (habe 2GB RAM).
Ich habe dann mal nach einer bestimmten Anzahl von DS (100K, 200K etc) debuggen lassen wieviel Speicher (memory_get_usage()) verwendet wird.
-----------------------------------------------------------------------------------
Es ergibt sich folgende Ausgabe:
Speicherauslastung am Anfang: 590.544
Speicherauslastung vor DB Uebertragung: 7.341.368
Speicherauslastung nach 100K DS: 43.906.288
Speicherauslastung nach 200K DS: 80.443.104
Speicherauslastung nach 250K DS: 98.450.744
Speicherauslastung nach 275K DS: 108.502.448
Fatal error: Allowed memory size of 536.870.912 bytes exhausted (tried to allocate 35 bytes) in C:\Programme\Test\DisplayAnalyse.php on line 203
-----------------------------------------------------------------------------------
Die nächste Debug stufe hätte nach 290K DS kommen sollen, davor bricht er aber ab. So recht verstehe ich die Fehlermeldung nicht, denn eigentlich sollte bei 290K DS etwas 120 MB belegt sein und nicht 536MB wie in der Fehlermeldung steht.
Die gleich Fehlermeldung (nur mit angepasster "exhausted" größe kommt auch wenn ich 1024 als memory_limit angebe...
Ist der maximale Wert für memory_limit etwas 128 MB? (weil das in etwas die grenze ist an der, der Fehler entsteht).
Hat da jemand von euch vielleicht eine Idee dazu?
Vielen Dank
--ronny
ich habe ein recht speicherintensives script, welches Datensätze aus einer DB ausließt. Mein memory_limit in der php.ini steht bei 512MB (habe 2GB RAM).
Ich habe dann mal nach einer bestimmten Anzahl von DS (100K, 200K etc) debuggen lassen wieviel Speicher (memory_get_usage()) verwendet wird.
-----------------------------------------------------------------------------------
Es ergibt sich folgende Ausgabe:
Speicherauslastung am Anfang: 590.544
Speicherauslastung vor DB Uebertragung: 7.341.368
Speicherauslastung nach 100K DS: 43.906.288
Speicherauslastung nach 200K DS: 80.443.104
Speicherauslastung nach 250K DS: 98.450.744
Speicherauslastung nach 275K DS: 108.502.448
Fatal error: Allowed memory size of 536.870.912 bytes exhausted (tried to allocate 35 bytes) in C:\Programme\Test\DisplayAnalyse.php on line 203
-----------------------------------------------------------------------------------
Die nächste Debug stufe hätte nach 290K DS kommen sollen, davor bricht er aber ab. So recht verstehe ich die Fehlermeldung nicht, denn eigentlich sollte bei 290K DS etwas 120 MB belegt sein und nicht 536MB wie in der Fehlermeldung steht.
Die gleich Fehlermeldung (nur mit angepasster "exhausted" größe kommt auch wenn ich 1024 als memory_limit angebe...
Ist der maximale Wert für memory_limit etwas 128 MB? (weil das in etwas die grenze ist an der, der Fehler entsteht).
Hat da jemand von euch vielleicht eine Idee dazu?
Vielen Dank
--ronny
Kommentar