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


8

Estou usando um serviço em segundo plano que vaza memória de tempos em tempos. Para impedir o uso do Alt+ SysRq REISUB[ 1 ], gostaria de restringir o uso da RAM para um processo ou 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 um tipo de máquina virtual para isso? Estou usando o Ubuntu 9.10.

Respostas:


10

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


Obrigado, boa dica! Pelo que entendi ulimit, limita a memória de todos os usuários / processos / qualquer consumo. Eu apenas gosto de limitá-lo a um usuário / processo e subprocessos.
guerda 5/11/09

1
O ulimit é um comando do shell e afeta apenas os processos iniciados no mesmo shell após a execução do ulimit. Você inicia o processo em um script de shell com um comando ulimit para que ele afete exatamente esse processo.
6119 KeithB

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.