'Ulimit -m' ne fonctionne-t-il pas sur Linux (moderne)?

12

Cet article prétend que le -mdrapeau ulimitne fait rien dans Linux moderne. Je ne trouve rien d'autre pour corroborer cette affirmation. Est-ce exact?

Vous pouvez essayer de limiter l'utilisation de la mémoire d'un processus en définissant la taille maximale définie par le résident (ulimit -m). Cela n'a aucun effet sur Linux. man setrlimit dit que cela ne fonctionnait que dans les versions anciennes. Vous devez plutôt limiter la quantité maximale de mémoire virtuelle (ulimit -v).

S'il est vrai que cela fonctionnait dans les anciennes versions de Linux, quelle version a cessé de supporter cela?

Flimzy
la source
Voici un article intéressant qui donne quelques détails sur les différentes limites et ce qu'elles signifient. Il a dix ans, mais la plupart de ces choses ne changent probablement pas. answers.google.com/answers/threadview/id/311442.html
Dan Pritts

Réponses:

12

Il dit juste là dans l'article:

Cela n'a aucun effet sur Linux. man setrlimit dit que cela ne fonctionnait que dans les versions anciennes.

La page de manuel setrlimit indique:

 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.

Il a donc cessé de fonctionner en 2.4.30 .

Cristian Ciupitu
la source
Merci. J'ai parcouru la page setrlimit, mais je ne savais pas quoi chercher.
Flimzy
Vous deviez chercher à residentpartir de la taille de l'ensemble résident .
Cristian Ciupitu