¿Cómo puedo restringir el uso de RAM para un usuario o proceso en particular?


8

Estoy usando un servicio en segundo plano que pierde memoria de vez en cuando. Para evitar el uso de Alt+ SysRq REISUB[ 1 ], me gustaría restringir el uso de RAM para un proceso o un usuario del sistema.

Realmente me gustaría decir: el usuario x puede usar la cantidad máxima de RAM de 1 GB.

¿Es esto factible? ¿Necesito algún tipo de máquina virtual para esto? Estoy usando Ubuntu 9.10.

Respuestas:


10

Ulimit es tu amigo. Echa un vistazo a la bandera -m. Yo creo que se establece este antes de iniciar su proceso y se aplica a partir de entonces (en el shell actual).


Gracias, buena pista! Según entiendo ulimit, limita la memoria / proceso / cualquier consumo de todos los usuarios. Solo me gusta limitarlo a un usuario / proceso y subprocesos.
guerda

1
ulimit es un comando de shell, y solo afecta a los procesos iniciados desde el mismo shell después de ejecutar ulimit. Inicia el proceso en un script de shell con un comando ulimit para que afecte solo a ese proceso.
KeithB el

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.