Я пришел к выводу, что инициализация объекта - это то, что вызывает утечки памяти в моей программе. Упрощенная версия моего кода показана ниже:
while True:
items = [...]
for item in items:
do_something(Item(item))
В настоящее время я заменил свой бесконечный l oop следующим:
if __name__ == '__main__':
items = [...]
for item in items:
do_something(Item(item))
os.execv(sys.executable, [sys.executable, __file__] + sys.argv)
, но я ' Я предпочел бы решить сам вопрос. Я попытался присвоить объект переменной до функции do_something()
и установить для нее значение None
впоследствии, а также свести к минимуму объем данных, хранящихся в моем объекте, но использование памяти со временем продолжает увеличиваться. Я хотел бы избежать импорта каких-либо дополнительных пакетов, но любые советы приветствуются.