Форум сайта python.su
0
Доброго времени суток!
Подскажите пожалуйста:
Есть python 2.7.3 , проблема с освобождением памяти даже после принудительного запуска gc.collect()
а = [] for i in xrange(10000000): a.append(i) del a import gc gc.collect()
Отредактировано droff (Авг. 9, 2013 12:15:08)
Офлайн
20
Как вы проверяете освободилась память или нет? Вы проверяли, что эта память не будет отдана другому процессу по требованию? Вы уверены, что при повторном выполнении операции будет занято еще столько же памяти, а не переиспользована прежняя?
Отредактировано Soteric (Авг. 9, 2013 12:59:13)
Офлайн
0
Soteric
Как вы проверяете освободилась память или нет? Вы проверяли, что эта память не будет отдана другому процессу по требованию? Вы уверены, что при повторном выполнении операции будет занято еще столько же памяти, а не переиспользована прежняя?
Отредактировано droff (Авг. 9, 2013 13:33:07)
Офлайн
75
droff
возможно это сам интерпретатор висит в памяти ?
И вместо
droffиспользовать kill ?
gc.collect()
Офлайн
0
>возможно это сам интерпретатор висит в памяти ?
нет, интерпретатор копейки занимает, повторюсь память растет
>использовать kill ?
Это костыль а не решение, Вы еще скажите интерпретатор не запускать…
Вопрос из-за чего память утекает ….
Отредактировано droff (Авг. 9, 2013 13:35:11)
Офлайн
18
Офлайн
0
adray
Скорее всего из-за free-lists:12При удалении объекта (скажем, инта) в питоне, ставится соответствующий маркер в free-list. При создании нового объекта память реиспользуется.Если несколько раз проделать
Офлайн
221
droff
это точно зависит от платформы, так как UNIX и Windows в этом плане сильно отличаются
Офлайн
25
Офлайн