¿'Ulimit -m' no funciona en Linux (moderno)?

12

Este artículo afirma que la -mbandera ulimitno hace nada en Linux moderno. No puedo encontrar nada más para corroborar esta afirmación. ¿Es exacto?

Puede intentar limitar el uso de memoria de un proceso estableciendo el tamaño máximo de conjunto residente (ulimit -m). Esto no tiene ningún efecto en Linux. man setrlimit dice que solía funcionar solo en versiones antiguas. En su lugar, debe limitar la cantidad máxima de memoria virtual (ulimit -v).

Si es cierto que funcionó en versiones anteriores de Linux, ¿qué versión dejó de admitir esto?

Flimzy
fuente
Aquí hay un artículo interesante que detalla algunos de los diversos límites y su significado. Tiene diez años, pero presumiblemente la mayoría de estas cosas no cambian. answers.google.com/answers/threadview/id/311442.html
Dan Pritts

Respuestas:

12

Dice allí mismo en el artículo:

Esto no tiene ningún efecto en Linux. man setrlimit dice que solía funcionar solo en versiones antiguas.

La página de manual de setrlimit dice:

 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.

Entonces dejó de funcionar en 2.4.30 .

Cristian Ciupitu
fuente
Gracias. Miré a través de la página de setrlimit, pero no sabía qué buscar.
Flimzy
Había que buscar a residentpartir del tamaño del conjunto residente .
Cristian Ciupitu