Вот так где-то. Патч к B::TerseSize и скрипт посмотреть на результат. Осталось в Apache::Status все это вывести красиво.
Конечно будут ошибки, например:
our $a = { ... };
our $b = { ...., a => $a, ... };
Нужно писать более подробный анализатор памяти.
2009/7/29 Ruslan Zakirov <[email protected]>:
> 2009/7/29 Ruslan Zakirov <[email protected]>:
>> 2009/7/29 Alex Shatlovsky <[email protected]>:
>>> 2009/7/29 Ruslan Zakirov <[email protected]>:
>>>> 2009/7/29 Alex Shatlovsky <[email protected]>:
>>>>> Привет,
>>
>> [snip]
>>
>>>> Собственно не вижу причин для perl освободить память. Как бы хотели,
>>>> чтобы перл вле себя?
>>>>
>>>
>>> Я, видимо, нечетко сформулировал мысль.
>>> То что в $SPAM помещено 50 мегов -- это так и задумывалось для эксперимента.
>>>
>>> Хочется понять, какое волшебное заклинание надо сказать
>>> Apache::Status, чтобы он увидел эти самые 50 мб.
>>
>> Ааа, так это другое дело. Заглядываем в Apache::Status и видим, что
>> используется B::TerseSize для генерации отчета. Далее смотрим модуль,
>> который давно не обновлялся, там внутри есть блок "#measure global
>> variables" из которого понятно, что размер считается не рекурсивно.
>> Далее хачим и делаем пользу для всех.
>
> Например можно в том блоке использовать
> http://search.cpan.org/~tels/Devel-Size-0.71/lib/Devel/Size.pm
>
>
>>> --
>>> С уважением,
>>> А.Н.Шатловский
>>> --
>>> Moscow.pm mailing list
>>> [email protected] | http://moscow.pm.org
>>>
>>
>>
>>
>> --
>> Best regards, Ruslan.
>>
>
>
>
> --
> Best regards, Ruslan.
>
--
Best regards, Ruslan.
memory_usage.pl
Description: Binary data
B-TerseSize-use_devel_size_if_available.patch
Description: Binary data
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
