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

Главные вкладки

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

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

Комментарии

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

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

Аватар пользователя iTux iTux 13 ноября 2014 в 13:17

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

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

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

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

Аватар пользователя iTux iTux 13 ноября 2014 в 13:43

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

Аватар пользователя kodolka kodolka 13 ноября 2014 в 14:35

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

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

Аватар пользователя iTux iTux 13 ноября 2014 в 15:59

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

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

Аватар пользователя kodolka kodolka 13 ноября 2014 в 17:08

Воспользовалась 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. Что же делать с этими флагами?????