Hallo,
laufe in oben stehende Fehlermeldung bei folgendem simplen Script. Die Objektliste hat rund 31000 Einträge. Limitiere ich die Ausgabe auf 20000 (zweites Script) sieht man, wie der Spiecher hochläuft - pro Abfrage mit IPS_GetObject um ca. 6 MB. Sehr seltsam und sollte nicht sien, wenn korrekt Speicher wieder freigegeben wird. zumal das zurückgegebene Objekt Array nur einen Bruchteil von 6 MB hat …
Gleiches Problem übrigens bei IPS_GetVariableList etc.
Irgendwelche Ideen? Danke, Dirk
IPS4.4/64, WIN10/64
<?
$start_memory = memory_get_usage(true);
var_dump($start_memory/104/1024);
$ids=IPS_GetObjectList();
var_dump(count($ids));
$z=0;
foreach($ids as $id) {
$o=IPS_GetObject($id);
$z=$z+1;
//if($z>20000) { break;}
}
$t= memory_get_usage() - $start_memory; ;
var_dump($t/1024/1024);
?>
float(12.307692307692)
int(31095)
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 76 bytes) in C:\IPS4\scripts\10253.ips.php on line 10
<?
$start_memory = memory_get_usage(true);
var_dump($start_memory/104/1024);
$ids=IPS_GetObjectList();
var_dump(count($ids));
$z=0;
foreach($ids as $id) {
$o=IPS_GetObject($id);
$z=$z+1;
if($z>20000) { break;}
}
$t= memory_get_usage() - $start_memory; ;
var_dump($t/1024/1024);
?>
float(12.307692307692)
int(31095)
float(60.948303222656)