[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

No puedo poner un limite de memoria usada por usuario



Quiero poner un limite de la memoria que pueden usar los usuarios de mi
pc, y para eso hice lo siguiente,

1) En el archivo /etc/security/limits.conf agregue esta línea
juan                hard    memlock         100000
Supuestamente les da a los usuarios alrededor de 100mb de RAM como tope.

2) El archivo /etc/pam.d/login tiene lo siguiente
session    required   pam_limits.so

Pero entro con el usuario juan, hice un programa en c que lo único que
hace es pedir infinitamente memoria de una estructura que tiene 10 campos

while (1)
  x = (estructura) malloc (sizeof (struct nodo_estructura));

Y con este usuario llego a más de 200mb, luego el sistema mata el
proceso pero de todas formas no debería haber pasado los 100mb, lo que
me indica que el límite que puse no esta funcionando.

Leí un poco la documentación de pam y encontré esto

requires an /etc/security/limits.conf file and kernel support
for resource limits. Also uses the library, libpwdb.

¿Como habilito en el kernel la opción resource limits?.
No sabía que había que habilitar algo en el kernel, ¿alguien sabe cual
es exactamente la opción que hay que habilitar en el núcleo? porque la
busque pero no la encontré.
¿Y esa librería libpwdb? la busque y parece que tampoco la tengo,
¿alguna idea?, saludos.



Reply to: