«Ulimit -m» не работает на (современном) Linux?

12

В этой статье утверждается, что -mфлаг to ulimitничего не делает в современном Linux. Я не могу найти ничего другого, чтобы подтвердить это утверждение. Это точно?

Вы можете попытаться ограничить использование памяти процессом, установив максимальный размер резидентного набора (ulimit -m). Это не влияет на Linux. man setrlimit говорит, что раньше он работал только в древних версиях. Вместо этого вы должны ограничить максимальный объем виртуальной памяти (ulimit -v).

Если это правда, что это работало в старых версиях Linux, какая версия перестала поддерживать это?

Flimzy
источник
Вот интересная статья, в которой подробно рассматриваются различные ограничения и их значение. Ему десять лет, но, по-видимому, большая часть этого материала не меняется. answers.google.com/answers/threadview/id/311442.html
Дэн Приттс

Ответы:

12

Там говорится прямо в статье:

Это не влияет на Linux. man setrlimit говорит, что раньше он работал только в древних версиях.

Страница руководства 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 .

Кристиан Чиупиту
источник
Спасибо. Я просмотрел страницу setrlimit, но не знал, что искать.
Флимзи
Вы должны были искать residentот резидента установленного размера .
Кристиан Чиупиту