“ulimit -m”在(现代)Linux 上不起作用吗?

“ulimit -m”在(现代)Linux 上不起作用吗?

本文声称该-m标志ulimit在现代 Linux 中没有任何作用。我找不到其他任何东西来证实这一说法。准确吗?

您可以尝试通过设置最大驻留集大小(ulimit -m)来限制进程的内存使用量。这对 Linux 没有影响。 man setrlimit 说它过去只在古代版本中起作用。您应该限制虚拟内存的最大量 (ulimit -v)。

如果它确实可以在旧版本的 Linux 中运行,那么哪个版本停止支持它?

答案1

文章里就这么说:

这对 Linux 没有影响。 man setrlimit 说它过去只在古代版本中起作用。

设置限制手册页说:

 RLIMIT_RSS
        Specifies the limit (in pages) of the process's resident set
        (the number of virtual pages resident in RAM).  This limit has
        effect only in Linux 2.4.x, x < 30, and there affects only
        calls to madvise(2) specifying MADV_WILLNEED.

所以它停止工作了2.4.30。 这2.4.30 的变更日志对此说了一些话:

Marcelo Tosatti:
o Ake Sandgren:修复 RLIMIT_RSS madvise 计算错误
o Hugh Dickins:从 madvise 中删除 rlim_rss 和此 RLIMIT_RSS 代码。大概是代码被错误地侵入了

相关内容