在使用 2.6.32-22-generic 内核运行 Ubuntu 10.04 的机器上会出现以下问题: 为进程的驻留集大小 (RSS) 设置限制似乎没有任何效果。我目前使用以下代码在 Python 中设置限制:
import resource
# (100, 100) is the (soft, hard) limit. ~100kb.
resource.setrlimit(resource.RLIMIT_RSS, (100, 100))
memory_sink = ['a']*10000000 # this should fail
列表 memory_sink 每次都成功。当我用 top 检查 RSS 使用情况时,我可以很容易地让进程使用 1gb 的 RAM,这意味着限制不起作用。RSS 限制不适用于此内核或发行版吗?如果有帮助,resource.RLIMIT_NPROC(用户进程限制)确实有效。