Pull to refresh

Comments 4

Спасибо за интересную статью! иногда спасает ipdb — немного подкрашенный pdb. остальное не пробовал, при случае воспользуюсь

В списке незаслуженно отсутствует meliae. Я пытался найти утечки памяти в нескольких больших приложениях на Python. Просто по работе сталкивался. Три раза помню точно:


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

В общем, перепробовал почти всё из перечисленного, бился неделями. Оно неудобно и не работает. Этими инструментами можно найти утечку, если ее причина достаточно проста или повезло как-то сразу наткнуться.


Например, сервис, обслуживающий миллионы пользователей. Локально проблему не удавалось найти никак. Как бы не пытался локально эмулировать реалистичную нагрузку от миллионов пользователей, память не росла. А все инструменты вываливали на меня графы из десятков тысяч list и dict, переплетенных между собой тысячами ссылок. Распутывать этот клубок приходилось долго, и каждый раз в конце был тупик: нет, не эта структура является причиной утечки.


meliae показалась наиболее мощным инструментом (хотя и не без недостатков). И ее преимущество в том, что ее можно задеплоить вместе с кодом в прод на один из бэкендов, и когда произойдёт утечка, сдампить состояние памяти в этот момент.


Тогда уже точно знаешь, что где-то в этой куче 100% есть утекшие объекты, а не шаришь наугад. И с meliae я смог найти их за считанные часы.


Всё хочу написать статью о meliae, но не хватает времени. И в ней тоже есть недостатки, один патч я отправлял автору, по-моему, он его так и не принял, но это не единственный найденный недостаток, просто не хватает времени вернуться и устранить оставшиеся.


За статью спасибо. Кое-что новое для себя всё равно узнал, хотя считаю себя ветераном борьбы с утечками памяти. :)

Спасибо за наводку, с этим инструментом не сталкивался. Нужно попробовать, времени на поиск утечек уходит действительно много :)
Отличная статья. До сих пор сталкивался только с довольно тривиальными утечками — когда под подозрением оказывается конкретный кусок кода. Теперь, когда столкнусь с более сложными кейсами, буду знать о наличии таких инструментов.
Only those users with full accounts are able to leave comments. Log in, please.

Information

Founded
Location
Россия
Website
domclick.ru
Employees
501–1,000 employees
Registered
Representative
Лера Лисичкина