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: