Symfony 2 Doctrine memory usage

doctrine, memory, php, symfony

Solution

Doctrine caches certain aspects of Entities it has loaded. Use

$em->clear(); 

to detach all objects from the current entity manager.

Problem

I'm creating a query with an entity repository and it seems to have memory leaks. In my Entity repository class: ``` echo 'mem 1 : ' . (memory_get_usage()/1024/1024) . "<br />\n"; $query = $this->createQueryBuilder('a')->select('a','b','c','...'); echo 'mem 2 : ' . (memory_get_usage()/1024/1024) . "<br />\n"; $r = $query->getQuery()->getResult(); echo 'mem 3 : ' . (memory_get_usage()/1024/1024) . "<br />\n"; $this->clear(true); $query->getQuery()->free(true); unset($r); echo 'mem 4 : ' . (memory_get_usage()/1024/1024) . "<br />\n"; ``` Output: mem 1 : 5.0805282592773 mem 2 : 5.0998611450195 mem 3 : 91.49528503418 mem 4 : 77.939567565918 Why is the memory not back to the initial size (5 MB) after freeing the memory? And only pass from 91 to 77.

Original source

Related problems