Como posso restringir o uso de RAM para um usuário ou processo específico?

8

Estou usando um serviço de segundo plano que vaza memória de tempos em tempos. Para evitar o uso do Alt + SysRq REISUBO [ 1 ], gostaria de restringir o uso de RAM para um processo ou um usuário do sistema.

Eu realmente gostaria de dizer: O usuário x pode usar a quantidade máxima de RAM de 1 GB.

Isso é viável? Preciso de uma espécie de máquina virtual para isso? Estou usando o Ubuntu 9.10.

    
por guerda 05.11.2009 / 22:10

2 respostas

10

ulimit é seu amigo. Confira o sinalizador -m. Eu acho que você define isso antes de iniciar o processo e se aplica a partir de então (no shell atual).

    
por 05.11.2009 / 22:23
4

Além dos comandos shell ulimit (para bash) ou limit (para csh), você pode controlar isso de dentro do seu código com a função ulimit() .

    
por 05.11.2009 / 22:30