'Ulimit -m' non funziona su (moderno) Linux?


12

Questo articolo afferma che la -mbandiera ulimitnon fa nulla nel moderno Linux. Non riesco a trovare altro per confermare questa affermazione. È preciso?

È possibile provare a limitare l'utilizzo della memoria di un processo impostando la dimensione massima del set residente (ulimit -m). Questo non ha alcun effetto su Linux. man setrlimit dice che funzionava solo nelle versioni antiche. Dovresti invece limitare la quantità massima di memoria virtuale (ulimit -v).

Se è vero che ha funzionato nelle versioni precedenti di Linux, quale versione ha smesso di supportare questo?


Ecco un articolo interessante che approfondisce i vari limiti e il loro significato. Ha dieci anni, ma presumibilmente la maggior parte di queste cose non cambia. answer.google.com/answers/threadview/id/311442.html
Dan Pritts

Risposte:


12

Dice proprio lì nell'articolo:

Questo non ha alcun effetto su Linux. man setrlimit dice che funzionava solo nelle versioni antiche.

La pagina man 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.

Quindi ha smesso di funzionare alle 2.4.30 .


Grazie. Ho cercato attraverso la pagina setrlimit, ma non sapevo cosa cercare.
Flimzy,

Hai dovuto cercare residentdalla dimensione del set residente .
Cristian Ciupitu,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.