Найти - Пользователи
Полная версия: вопрос про освобождение памяти
Начало » Python для новичков » вопрос про освобождение памяти
1
Игнат
питон 3.2

работает доп. поток и постепенно складывает данные в одну общую переменную в главном потоке

таким образом имеем:

self.storage = “данные”

после использования удаляю ключ и его данные:

del self.storage

но память как жрал так и жрет.

Вопрос вот какой - действительно ли del удаляет элемент словаря и возвращает память операционной системе?
Как гарантированно вернуть память в ОС?
ziro
del таки не совсем удаляет объекты из памяти, а только уменьшает счетчик ссылок на объект, ну и в данном случае еще убирает ключ из словаря. Удаляет объекты сборщик мусора, но только объекты для которых счетчик ссылок равен нулю. Сборщик запускается или сам, когда сочтет нужным или это можно сделать принудительно через gc.collect. Так что смотрите - или у Вас еще где-то ссылки на данные хранятся, или надо принудительно gc.collect запускать. Лично мне gc.collect понадобился пока только один раз в жизни.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB