繁体   English   中英

如果 RAM 接近饱和,如何终止 Python 进程(Windows 上的 Anaconda)?

[英]how to kill a Python process (Anaconda on windows) if the RAM is close to be saturated?

我有一个简单的问题。

我经常在大数据集的 Pandas 中运行复杂的计算。 有时python会继续使用RAM,直到一切都饱和并且我的计算机基本上崩溃了。 我在 Windows 机器上使用 Anaconda 发行版。

是否可以设置一个阈值(比如 98%),以便如果 RAM 使用率超过该阈值,则应该重新启动内核或应该终止进程?

在 Unix 系统上似乎相对容易( https://docs.python.org/2/library/resource.html#resource.setrlimit )。 但是,对于 Windows 系统,似乎没有限制内存量的内部 python 方式。 然后,您将不得不依赖 Windows API。 据我从这个答案中可以看出,您最好创建一个Job 对象,并将其与 python 进程相关联。 然后您将使用JOB_OBJECT_LIMIT_JOB_MEMORY来限制进程的内存。 或者您可能可以使用SetProcessWorkingSetSize逃脱。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM