如何设置Python的最大堆大小

时间:2014-08-31 07:39:32

标签: python scikit-learn heap-memory

我想为我的python代码设置最大堆大小。 在我的服务器环境中,长时间运行大堆大小的进程会自动终止。我已经知道如果堆大小超过40G,该进程将被终止。如果大约20G~30G,那没关系。因此,我需要将最大堆大小保持在20G以内。

要实现这一点,我在stackoverflow(How to limit the heap size?)中找到了类似的问题,并尝试了它。

这是我的代码的标题。

import resource
rsrc = resource.RLIMIT_DATA
resource.setrlimit(rsrc, (7340032, 20971520))

但是如果用top命令检查进程状态,我的代码超出了这个限制。它需要大约45G内存。

我设定限制的方式有什么问题?

我的python代码使用scikit-learn库执行PCA分析。 我确认numpy数组大小约为6G,具有nbytes属性。

谢谢!

0 个答案:

没有答案