Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#1

Memory-Leak bei PHP

  Alt 4. Aug 2008, 19:23
Hallo,

ich hab ein kleines Problem mit nem MemLeak in PHP. Gegeben sei folgender Code:
Code:
$usage = array(memory_get_usage(), memory_get_usage(), memory_get_usage(), memory_get_usage());

$usage[0] = memory_get_usage();
$foo = 'bar';
$usage[1] = memory_get_usage();
unset($foo);
$usage[2] = memory_get_usage();
$foo = null;
$usage[3] = memory_get_usage();

echo "<pre>". print_r($usage, 1) ."</pre>";
Die Ausgabe ist folgende:
Code:
Array
(
    [0] => 59256
    [1] => 59344
    [2] => 59344
    [3] => 59344
)
Man sieht also, dass der Speicherverbrauch auch durch unset nicht runtergeht. Ich habs auf zig verschiedene Varianten getestet, aber der Verbrauch bleibt immer oben. Ich hab auch ausgeschlossen, dass memory_get_usage() selbst oder das Array den Verbrauch hochziehn. Nehm ich alle Anweisungen mit $foo raus, bleibt der Verbrauch konstant.

Kann mir jemand evtl. erklaeren, wie ich das Problem umgehn kann? Mir faellt sonst kein Weg ein, verwendeten Speicher wieder freizugeben, und ich stosse bei ein paar Webseiten so langsam an Kapazitaetsgrenzen

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat