Question :Comment limiter les ressources mémoire de l'utilisateur "testme", par exemple, l'utilisateur "testme" ne pourra obtenir que 100 Mo de mémoire du système.
ulimit ne pourra pas atteindre cet objectif car ulimit limite la consommation de mémoire utilisateur par processus - dans ce cas, le client souhaite définir le quota de mémoire utilisateur "testme" sur 100 Mo.
1. Pour obtenir une solution simple pour limiter les ressources mémoire des utilisateurs, il faut :
# vi /etc/cgconfig.conf
Ajoutez ici :
group memlimit { memory { memory.limit_in_bytes = 104857600; } }
Ci-dessus créera un groupe de contrôle appelé memlimit où la limite est de 100 Mo
2. Modifiez maintenant un autre fichier :
# vi /etc/cgrules.conf
Ajoutez ici :
testme memory memlimit/
Cela indiquera aux cgroups que l'utilisateur testme sera ajouté au cgroup memlimit et ne pourra prendre que 100 Mo du système.
3. Redémarrez les services cgred et cgconfig et autorisez-les à démarrer au démarrage avec chkconfig :
# service cgred restart # service cgconfig restart
# chkconfig cgred on # chkconfig cgconfig on
Les commandes ci-dessus démarreront cgred/cgconfig et s'assureront qu'elles démarreront également au démarrage du système. Désormais, l'utilisateur testme ne devrait pouvoir utiliser que 100 Mo de ressources mémoire.