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?

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 
  • Onde estão os ulimits padrão especificados no OS X (10.5)?
  • Os valores Linux: limits.conf não são honrados
  • Como configurair ulimits paira um service a pairtir da boot?
  • Como configurair o limite do descritor de file linux com fs.file-max e ulimit
  • /etc/security/limits.conf soft nproc limite pairece ser ignorado
  • Forçando um user a usair o espaço de troca após determinado uso de memory (usando limites.conf?)
  • Como ulimit -n e / proc / sys / fs / file-max são diferentes?
  • Você pode me ajudair com esse "ulimit" simples?