Форум сайта python.su
0
Подскажите как можно посмотреть какие конкретно объекты выжирают много памяти?
Нашёл profiler memory, но им можно детально посмотреть только сколько жрет памяти функция, а мне нужно глобально по всей программе (не из 1 модуля). Максимум, что нашёл это guppy, который показывает сколько памяти съедает тот или иной тип, а нужно найти конкретный объект, который забыли почистить.
Офлайн
221
Вообще тема обширная, достаточно глянуть на SO
Я вот сходу подумал как то так:
import ctypes import gc from sys import get_size_of def get_obj_by_id(_id): return ctypes.cast(_id, ctypes.py_object).value res = sorted( ( (get_size_of(x), id(x)) for x in gc.get_objects()), key = lambda x: x[0], reverse = True)
Офлайн
0
Спасибо за быстрый ответ. Буду пробовать)
Офлайн