Как проверить куда выделяется память, что ее съедает?

13 ноября 2014 в 13:05
Аватар пользователя kodolka kodolka 0 11

Приложение к записи http://www.drupal.ru/node/112390 В .htaccess добавила памяти, проверила через /admin/reports/status/php все нормально. Но все равно пишет что памяти не хватает. Out of memory (allocated 394002432) (tried to allocate 12058661 bytes). Я теперь хочу разобраться куда девается та память что ее не хватает. Как проверить куда выделяется память, что ее съедает?

Комментарии

Причем ошибка только когда захожу на редактирование флага, именно на редактирование, если захожу на управление полями флага то все нормально.

13 ноября 2014 в 13:14

Для начала проверьте, сколько у вас памяти на самом деле. В предыдущей записи дали ссылку на страницу инфо /admin/reports/status/php

13 ноября 2014 в 13:17

"iTux" wrote:
Для начала проверьте, сколько у вас памяти на самом деле

Я проверяла. Там 512M, я прописала ini_set('memory_limit', '-1') и ничего не поменялось.

13 ноября 2014 в 13:33

Отлаживать на виртуальном хостинге то еще удовольствие. Я обычно отлаживаю с помощью xhprof на локальной машине. На ней можно выставить любое количество памяти, чтобы скрипт все-таки отработал, с упавшим процессом оно не работает если не ошибаюсь. Если такой вариант не подходит, копайте в сторону Xdebug + KCachegrind.

13 ноября 2014 в 13:43

"iTux" wrote:
копайте в сторону Xdebug + KCachegrind

А можно как то по подробней об этом. Я просто слышала о Xdebug, но как оно работает и как им пользоваться не знаю.

13 ноября 2014 в 14:35

"kodolka" wrote:
А можно как то по подробней об этом. Я просто слышала о Xdebug, но как оно работает и как им пользоваться не знаю.

А это к друпалу как к таковому отношения не имеет. Поподробнее – пожалуйста: забиваете в яндексе слова xdebug kcachegrind и смотрите ссылки в выдаче. Если в статье встречается непонятное слово забиваете в поиск и его. Если вообще ничего не понятно то начните с учебника по PHP. Drupal не дружелюбен к новичкам, как и мы.

13 ноября 2014 в 15:59

Воспользовалась Devel. На странице где ошибка вот такой результат Page execution time was 2191.31 ms. Memory used at: devel_boot()=3.66 MB, devel_shutdown()=511.35 MB, PHP peak=511.75 MB. На всех сотальных максимум 176.25 MB. Что же делать с этими флагами?????

13 ноября 2014 в 17:08