#python #memory #memory-management
#python #память #управление памятью
Вопрос:
Доброе утро. У меня возник вопрос об использовании памяти и размере переменной. Это может быть основной проблемой, но любые рекомендации будут приняты во внимание.
Я загрузил файл pickle размером 112,4 МБ со следующим кодом Python
import pickle
def open_dict(path_filename):
a_file = open(path_filename, "rb")
output = pickle.load(a_file)
return output
features_dicts = open_dict("./files/others/features_dicts.pkl")
Однако переменный инспектор Jupyter Notebook сообщает, что размер features_dicts равен 384B, и я обнаружил, что в этом процессе используется около 124 МБ машинной памяти.
Чего я ожидал, так это того, что размеры features_dicts и используемой машинной памяти совпадают — 112,4 МБ. Может ли кто-нибудь объяснить мне или поделиться ссылкой, которая решит мой вопрос?
Я также хотел бы знать, как максимально уменьшить использование памяти в этой ситуации.
Спасибо за чтение.
Комментарии:
1. Что это за маринованный предмет? Не могли бы вы сказать мне название библиотеки или название класса?
2. Спасибо за ваш ответ. Файл содержит объект defaultdict из коллекций (библиотека python).
3. Этот объект не зависит от размера памяти. Вы можете подтвердить размер объекта в памяти с
sys.getsizeof
помощью . Я не знаю, как Jupyter анализирует объем использования памяти, но этот метод должен иметь возможность подтверждать напрямую.