我在WSL中运行python脚本导致内存泄漏,导致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),因为脚本会限制进程的生成。