YAPC Russia: Анализ памяти в perl

23
Анализ памяти в Perl. Tips&Tricks. Евгений Вансевич e.vansevich @corp.mail.ru

Transcript of YAPC Russia: Анализ памяти в perl

Page 1: YAPC Russia: Анализ памяти в perl

Анализ памяти в Perl.

Tips&Tricks.Евгений Вансевич[email protected]

https://github.com/kadavr

Page 2: YAPC Russia: Анализ памяти в perl

Devel::GladiatorПозволяет итерировать внутренние структуры perl.

Крутое названиеОтдаёт «слепок» памятиУдобно использовать в связке с модулем BМожно быстро* проверить идею или теорию

Надо «допиливать»Скорость работы в связке с B

Page 3: YAPC Russia: Анализ памяти в perl

Типы данных

Page 4: YAPC Russia: Анализ памяти в perl

Test::LeakTraceНаходит утечки памяти для занного «scope»

Удобный интерфейс

Быстро работает

Создан для тестирования кода

Сложно понять вывод

Page 5: YAPC Russia: Анализ памяти в perl
Page 6: YAPC Russia: Анализ памяти в perl
Page 7: YAPC Russia: Анализ памяти в perl

Devel::CycleПоиск циклических ссылок

Умеет находить циклические ссылки Медленно работает с большим количеством ссылок

Page 8: YAPC Russia: Анализ памяти в perl
Page 9: YAPC Russia: Анализ памяти в perl
Page 10: YAPC Russia: Анализ памяти в perl

Devel::Size && Devel::SizeMeПодсчёт размера структур и данных

Devel::SizeMe

Наличие графического интерфейса

Неюзабельный графический интерфейсНе собирается >Perl-5.18.4Приходится «патчить» в ручную, чтобы его запустить

Devel::Size

Простой интерфейс

Page 11: YAPC Russia: Анализ памяти в perl
Page 12: YAPC Russia: Анализ памяти в perl
Page 13: YAPC Russia: Анализ памяти в perl

Devel::Size && Devel::SizeMeПодсчёт размера структур и данных

Devel::SizeMe

Наличие графический интерфейс

Неюзабельный графический интерфейсНе собирается >Perl-5.18.4Приходится патчить в ручную, чтобы его запустить

Devel::Size

Простой интерфейс

Page 14: YAPC Russia: Анализ памяти в perl
Page 15: YAPC Russia: Анализ памяти в perl

Devel::MATПолный и всесторонний анализ памяти perl

Делает heap dump

Есть графический интерфейс: App::Devel::MAT::Explorer::GTK

Есть готовые утилиты анализа

Слабая документация

Page 16: YAPC Russia: Анализ памяти в perl
Page 17: YAPC Russia: Анализ памяти в perl
Page 18: YAPC Russia: Анализ памяти в perl
Page 19: YAPC Russia: Анализ памяти в perl

Devel::FindRefПоможет найти все объекты ссылающиеся на переменную

Быстро работает – XS

Информативный вывод

Не собирается >Perl-5.18.4

Page 20: YAPC Russia: Анализ памяти в perl
Page 21: YAPC Russia: Анализ памяти в perl
Page 22: YAPC Russia: Анализ памяти в perl

Why is all the RAM gone? (LPW2013) - Paul Evans

Perl memory use(LPW2013) - Tim Bunce

Доклады

Page 23: YAPC Russia: Анализ памяти в perl

Евгений Вансевич[email protected]://github.com/kadavr