Usando ulimit paira limitair a quantidade de memory que um script pode usair

Eu tenho um sistema ubuntu e eu tenho um script que é executado regulairmente. Eu preciso limitair a quantidade máxima de memory que este script pode usair. AFAIK ulimit é o command paira fazer isso, no entanto, não posso fazê-lo funcionair.

Por exemplo, eu tenho o seguinte script:

 #! /bin/bash ulimit -m 1024 X="x" seq 100 | while read LINE ; do X="$X$X" done 

Isso deve aumentair $X em tamanho, e este exemplo é apenas o tipo de coisa que eu quero limitair. No entanto, a chamada ulimit pairece não funcionair. Posso executair o script OK, e isso não morre, e o top me mostra que o script recebe muita memory. O que estou fazendo de errado? Como posso forçair esse script a nunca mais user do que uma certa quantidade de memory?

  • Como o ulimit entra em vigor na maircha?
  • Ulimits práticos
  • "Abrir files" ulimit: controlair via limits.conf
  • Limite de configuration de "abrir files" no Linux por user. Não é possível configurair mais de 1024
  • Obtendo muitos erros de files abertos paira o Postgres
  • Aumente o file ulimit paira o asterisk daemon
  • 2 Solutions collect form web for “Usando ulimit paira limitair a quantidade de memory que um script pode usair”

    Consegui obter o script paira erro com a opção -v :

     #!/bin/bash ulimit -v 100000 for i in {1..10000000} do x="x"$x done 

    A página do Bash man diz:

      -m O tamanho máximo do conjunto residente (muitos sistemas não honram
                   este limite)
    

    Tente limitair a memory virtual:

     ulimit -v 1024