Xpoint
   [напомнить пароль]

карта памяти PHP кода

Метки: [без меток]
2007-09-08 16:25:37 [обр] dmig(2/9)[досье]

Хочу посмотреть карту памяти выполняющегося кода.
Интересует главным образом сколько весит какая переменная/объект.

Поиск пока ничего толком не дал. Уверен, что это реализуемо, но пока не знаю как.

Чем/как можно такое сделать?

спустя 11 часов [обр] dimagolov(0/3)[досье]
спустя 1 день 3 часа [обр] Дмитрий Попов(171/509)[досье]

dimagolov[досье]
И как Вы посмотрите, сколько весит переменная/объект?
Тогда уж можно было на sleep+top показать, ага...

dmig[досье]
Я нормально работающих решений пока не встречал, но если кто-то укажет, будет, конечно, забавно и полезно...

спустя 3 часа 54 минуты [обр] dmig(2/9)[досье]

хм... понятно...

как список переменных/объектов глянуть, я пару способов уже придумал. а вот как размер выяснить — пока нет.
надо посмотреть, что умеют дебаггеры.

спустя 34 минуты [обр] Василий Свиридов(53/175)[досье]
Попробуйте запускать сам PHP через Valgrind например... Очень много информации о памяти можно получить.
спустя 1 день 14 часов [обр] dimagolov(0/3)[досье]

Смысла в том, чтобы смотреть конкретную переменную в общем то особого нету. К тому же в php это значение динамически меняется при маниуляциях с объектом.
Куда полезнее следить за используемой памятью до и после циклов или создания/уничтожения объектов, чтобы понимать есть где утечки или нету. Важно ведь не то, сколько переменная Х займет памяти, а чтобы скрипт при манипуляциях с ней не перевысил лимита и не сдох.

Красноречивый пример того, что "смотреть переменную" безсмысленно: http://phpclub.ru/talk/showthread.php?s=&threadid=102346&rand=10

спустя 5 дней [обр] dmig(2/9)[досье]

ничего по сути вопроса в топике том нет.

смысл не в том, чтобы смотреть конкретную переменную, а в том, чтобы в произвольный момент выполнения скрипта увидеть его карту памяти и понять, где же лажа.
а ограничений особых на память нету. тут скорее вопрос оптимизации.

спустя 2 минуты [обр] dmig(2/9)[досье]
по поводу валгринда - да думал. в ряде случаев оно поможет.
но мне скорее нужен екстеншн-дебаггер, чтобы получать карту памяти тогда, когда я захочу. возможность запускать код в дебаггере есть далеко не всегда.
Powered by POEM™ Engine Copyright © 2002-2005