memory limit i 5.2.6
Hej eksperter!Jeg sidder og roder med en løsning på Debian Lenny.
Da jeg benytter mig af frameworket Akelos (pt. version 0.9) kan jeg ikke tillade mig at opgradere php til 5.3.x, da Akelos pt. ikke understøtter det.
Det giver mig et problem, da jeg har et par scripts, der under eksekvering æder en del RAM. i php 5.3.x kan jeg bare garbage collecte skidtet undervejs, og så er den potte ude!
Hvad gør man i 5.2.x (5.2.6 her)?
Jeg har et mindre eksempel her, jeg bruger til memory tests:
<?php
class Foo
{
public $var = '3.1415962654';
}
$baseMemory = memory_get_usage();
for ( $i = 0; $i <= 100000; $i++ )
{
$a = new Foo();
$a->self = $a;
if ( $i % 500 === 0 )
{
echo sprintf( '%8d: ', $i ), memory_get_usage() - $baseMemory, "\n";
}
}
?>
Jeg så kalder min test således:
time php -dmemory_limit=-1 -n test.php
og her kan jeg så se, hvor meget memory scriptet bruger.
Jeg ville her prøve at indsætte en unset($a) for at lade scriptet tømme variablen for hver iteration, men det lader ikke til at give mig noget.
Nogle gode ideer?