Утечка памяти при маринаде внутри в течение l oop, что вызывает ошибку памяти - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть огромные объекты массива, которые травятся с помощью средства выбора python.

Я пытаюсь отобрать их и считывать данные в течение l oop. Каждый раз, когда я заканчиваю чтение и оценку, я удаляю все ссылки на эти объекты.

После удаления я даже вызываю gc.collect() вместе с time.sleep(), чтобы увидеть, уменьшается ли кучная память.

Память кучи не уменьшает указание на тот факт, что на данные все еще ссылаются где-то в пределах загрузки зарезки. После 15 файлов данных (у меня было 250+ файлов для обработки, по 1,6 ГБ каждый), я обнаружил ошибку памяти.

Я видел здесь много других вопросов, указывающих на проблему утечки памяти, которая предположительно была решена. Я не понимаю, что именно происходит в моем случае.

1 Ответ

0 голосов
/ 09 апреля 2020

Python управление памятью не освобождает память для ОС до тех пор, пока процесс не будет запущен.

Запуск for l oop с подпроцессом для вызова сценария помог мне решить проблему. Спасибо за отзывы.

...