gpt4 book ai didi

python - 驻留集大小 (RSS) 限制无效

转载 作者:IT老高 更新时间:2023-10-28 21:17:21 24 4
gpt4 key购买 nike

以下问题在运行 Ubuntu 10.04 和 2.6.32-22-generic 内核的机器上发生:设置进程的驻留集大小 (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(用户进程限制)确实有效。

最佳答案

您可以使用 cgroups 完成此操作。长版在我的blog ,但短版(在 Ubuntu 11.04 上测试)是:

  • 安装 cgroup-bin 包。

  • 编辑 /etc/cgconfig.config 并创建一个内存有限的组。为了例如,我补充说:

    group limited {
    memory {
    memory.limit_in_bytes = 50M;
    }
    }
  • 运行

    $ sudo restart cgconfig$ sudo chown -R jlebar /sys/fs/cgroup/memory/limited$ cgexec -g memory:limited your/program

当我要求它只使用 50M 时,我观察到我的进程的 RSS 为 93M,但这对我来说不是问题,因为我的目标只是让程序进入页面。

cgclassify 也允许您将限制附加到正在运行的进程。注意 RSS 仅适用于限制生效后分配的内存。

关于python - 驻留集大小 (RSS) 限制无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3043709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com