我正在用實體存儲庫創建一個查詢,它似乎有內存泄漏。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 2013-03-06 12:12:17
剛添加未設置($查詢)旁邊的其他未設置: $ this-> clear(true); $ query-> getQuery() - > free(true); unset($ query); 未設置($ r); 但它是一樣的:mem 4:77.849983215332 – Seb33300 2013-03-06 12:27:23
結果是什麼? – sroes 2013-03-06 12:29:00