Funktioniert 'ulimit -m' nicht unter (modernem) Linux?

11

Dieser Artikel behauptet, dass die -mFlagge zu ulimitnichts in modernem Linux tut. Ich kann nichts anderes finden, um diese Behauptung zu bestätigen. Ist es genau?

Sie können versuchen, die Speichernutzung eines Prozesses zu begrenzen, indem Sie die maximale Größe des residenten Satzes (ulimit -m) festlegen. Dies hat keine Auswirkungen auf Linux. Mann setrlimit sagt, dass es früher nur in alten Versionen funktionierte. Sie sollten stattdessen die maximale Menge an virtuellem Speicher (ulimit -v) begrenzen.

Wenn es stimmt, dass es in älteren Linux-Versionen funktioniert hat, welche Version unterstützt dies nicht mehr?

Schwach
quelle
Hier ist ein interessanter Artikel, der einige Details zu den verschiedenen Grenzen und deren Bedeutung enthält. Es ist zehn Jahre alt, aber vermutlich ändert sich das meiste nicht. answers.google.com/answers/threadview/id/311442.html
Dan Pritts
Verwandte:
Beschränken Sie die

Antworten:

11

Es steht genau dort im Artikel:

Dies hat keine Auswirkungen auf Linux. Mann setrlimit sagt, dass es früher nur in alten Versionen funktionierte.

Die Manpage setrlimit sagt:

 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.

Also hat es in 2.4.30 aufgehört zu arbeiten .

Cristian Ciupitu
quelle
Vielen Dank. Ich habe die setrlimit-Seite durchgesehen, wusste aber nicht, wonach ich suchen sollte.
Flimzy
Sie mussten nach der Größeresident des residenten Sets suchen .
Cristian Ciupitu