本文声称该-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 代码。大概是代码被错误地侵入了