25 октября 2012 г., 11:06 пользователь Roman Parshin <roman....@gmail.com> написал: > Am 24.10.2012 15:44, schrieb ksvs: > >> А какие есть хорошие инструменты для обнаружения утечек памяти? > > > Я, если честно, не знаю никаких, все руками обычно. Тут надо смотреть, если > у Вас процессы вырастают сразу до 30М а потом не растут больше - я бы, > наверное, даже не стал заморачиваться (хотя смотря сколько процессов). Если > же они растут постоянно, пока не сожрут всю память - то, конечно, надо > искать причину. По моему опыту - обычно не удаляются ненужные элементы из > массива или хеша после использования.
У Perl действительно все не просто с использованием памяти ;-) Но средства есть: 0. valgrind - для детекта утечек в XS 1. Test::LeakTrace - можно убедиться что конкретный блок кода не течет 2. Test::Memory::Cycle - можно убедиться, что у сложного объекта нет "циклов" 3*. Недавно Tim::Bunce презентовал Devel::SizeMe, пока сырой, но в будущем может стать универсальным инструментом для отладки использования памяти (как Devel::NYTProf для профилирования) Есть еще модули, но я их не смог использовать по той или иной причине... 4. Еще мои знакомые некоторые делают так в тестах. Берут BSD::Resource, меряют использование памяти до, дальше гоняют нужный блок 1000 или больше раз, потом меряют использование после. Тоже работает, хоть я такой подход и не люблю. > > > > >> >> ----- Original Message ----- >> From: Roman Parshin <roman....@gmail.com> >> To: moscow-pm@pm.org >> Cc: >> Sent: Wednesday, 24 October 2012, 16:31 >> Subject: Re: [Moscow.pm] tie Berkeley. Разобрался!!! >> >> Am 24.10.2012 15:19, schrieb ksvs: >>> >>> Так здорово выходит. >>> Вот только, что-то дочерние процессы по-немного разрастаются. >>> Уже под 30М, а главный 16. >> >> Ты где-то не подчищаешь память. >> >>> Если не пропадет желание, сделаю вариант потом с AnyEvent::HTTP, в одном >>> процессе правда. >>> Нет, наверно не сделаю. >> >> С AnyEvent::HTTP надо было начинать :) >> >> -- >> Roman Parshin >> <roman....@gmail.com> >> >> >> -- Moscow.pm mailing list >> moscow-pm@pm.org | http://moscow.pm.org >> > > > -- > Roman Parshin > <roman....@gmail.com> > > -- > Moscow.pm mailing list > moscow-pm@pm.org | http://moscow.pm.org -- Vladimir Timofeev <vovk...@gmail.com> -- Moscow.pm mailing list moscow-pm@pm.org | http://moscow.pm.org