ok, спасибо за совет. Я выполнил такой код:
while(true)
{
$var = create_function('', '$a = 0;');
unset($var);
}
unset($i);
в результате получаю:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 6144 bytes) in D:\www\tst\mleak.
php(5) : runtime-created function on line 1
после аварийного завершения скрипта память возвращается операционной системе, процесс HTTPD.EXE (Apache) занимает столько же памяти сколько и до запуска скрипта (иногда и меньше).
Вопрос:
Как создать утечку памяти чтобы Apache занимал памяти с каждым выполнением скрипта все больше и больше и не отдавал эту память операционной системе? Ведь это и есть самый страшный вариант утечки памяти?Есть проект, обычный сайт - memory_get_peak_usage() показывает максимум 2,5 мб при загрузке страницы. Этот сайт после определенного времени работы потребляет всю память (2GB).
Пытаюсь с этим разобраться.