У меня есть утечка памяти, вызванная скриптом Python, который я запускаю в WSL, что приводит к ошибкам OOM и сбою приложения. Завершение скрипта не освобождает память, однако закрытие всех окон моего терминала Ubuntu делает .
Ни диспетчер задач Windows, ни top
, кажется, не показывают никакого процесса, потребляющего недостающую память, хотя оба правильно сообщают об уменьшении общего объема свободной памяти со временем до 0.
Сценарий Python, создающий проблемы, создает множество подпроцессов, используя subprocess.Popen(['curl', myurl], shell=False)
, ожидая, пока process.poll()
будет not None
, а затем вызовет process.wait()
. Во время выполнения скрипта и после его завершения я подтверждаю, что с помощью ps aux | grep Z
нет процессов зомби. Во время выполнения ps aux | grep -c curl
(число процессов скручивания) является постоянным значением (около 130), потому что скрипт подавляет процесс генерации.