엔티티 리포지토리를 사용하여 쿼리를 만들고 있는데 메모리 누수가있는 것 같습니다.Symfony 2 Doctrine 메모리 사용량
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";
Outpout :
내 엔티티 저장소 클래스에서MEM 1 : 5.0805282592773
MEM 2 : 5.0998611450195
(MEM) 3 : 91.49528503418
MEM 4 : 77.939567565918
메모리를 확보 한 후 메모리가 초기 크기 (5MB)로 돌아 가지 않는 이유는 무엇입니까? 91에서 77까지만 전달하십시오.
unset ($ query)도 호출하면 어떻게됩니까? – sroes
unset ($ query)을 다른 unset 옆에 추가했습니다 : $ this-> clear (true); $ query-> getQuery() -> 무료 (true); unset ($ query); unset ($ r); 하지만 동일합니다. mem 4 : 77.849983215332 – Seb33300
그리고 결과는 무엇입니까? – sroes