'Ulimit -m' não funciona no Linux (moderno)?

12

Este artigo afirma que o -msinalizador ulimitnão faz nada no Linux moderno. Não encontro mais nada para corroborar esta afirmação. É preciso?

Você pode tentar limitar o uso da memória de um processo, definindo o tamanho máximo do conjunto residente (ulimit -m). Isso não tem efeito no Linux. O homem setrlimit diz que costumava trabalhar apenas em versões antigas. Você deve limitar a quantidade máxima de memória virtual (ulimit -v).

Se é verdade que funcionou em versões mais antigas do Linux, qual versão parou de suportar isso?

Flimzy
fonte
Aqui está um artigo interessante que detalha os vários limites e o que eles significam. Tem dez anos, mas presumivelmente a maioria dessas coisas não muda. answers.google.com/answers/threadview/id/311442.html
Dan Pritts

Respostas:

12

Diz ali mesmo no artigo:

Isso não tem efeito no Linux. O homem setrlimit diz que costumava trabalhar apenas em versões antigas.

A página de manual setrlimit diz:

 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.

Então, ele parou de funcionar na 2.4.30 .

Cristian Ciupitu
fonte
Obrigado. Eu olhei através da página setrlimit, mas não sabia o que procurar.
Flimzy
Você tinha que olhar para residenta partir de tamanho do conjunto residente .
Cristian Ciupitu 15/05