【发布时间】:2023-03-18 16:52:01
【问题描述】:
我正在使用 Python resource module 来限制我的内存使用,方法如下:
import resource
rsrc = resource.RLIMIT_AS
soft, hard = resource.getrlimit(rsrc)
resource.setrlimit(rsrc, (soft, 5*1024*1024)) # hard limit = 5GB
但是,我遇到了以下问题:
- 当前
hard限制为-1。这个值的含义是什么?问题是,因为它是负数,我无法将硬限制设置为更高的值,并且我收到一条错误消息 (ValueError: current limit exceeds maximum limit)。 - 与文档相反,
resource模块没有RLIMIT_VMEM。尝试访问resource.RLIMIT_VMEM时,出现错误 (AttributeError: 'module' object has no attribute 'RLIMIT_VMEM')。这可能是由我的操作系统的一些兼容性问题引起的吗?
【问题讨论】:
-
另外,RLIMIT_MEM 和 RLIMIT_AS 有什么区别?
-
输入单位不是字节吗?您对
5*1024*1024的限制不等于 5MB 而不是 5GB? -
@Cyrille 我也怀疑...