====== limits.conf & pam : limites d'utilisation de ressources ======
{{tag> pam debian}}
===== Définir les limites =====
Les limites hard (kernel) et soft (user, modifiable jusqu'à atteindre le niveau de kernel) peuvent être fixée sous linux dans le fichier /etc/security/limits.conf:
# -
#
julien hard nofile 4096
julien soft nofile 4096
julien hard memlock 2621440 # 2.5Go max en RAM
julien soft memlock 542288 # 512Mo par default
michel hard nofile 128
michel soft nofile 64 # extensible jusqu'à 128 files descriptors
@developpers hard memlock 1048576 # 1Go max en RAM
@developpers soft memlock 1048576 # 1Go max en RAM
@developpers soft nproc 50 # max num de processus (sans les threads)
Plus d'infos sur la page de man [[http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/sag-pam_limits.html|ici]].
Il est également possible de modifier ces valeurs via l'outil **ulimit** en ligne de commande.
===== Appliquer au login =====
Ces limites sont appliquées par PAM lors du login d'un utilisateur. Il faut donc, dans pam, s'assurer qu'un appel est fait au module **pam_limits.so** lors de l'ouverture de la session.
Sous Debian (lenny), dans le fichier **/etc/pam.d/common-session**, ajouter la ligne:
session required pam_limits.so
Fermez votre session et réouvrez la, lancer ensuite la commande **ulimit -H -a** pour voir les limites hard et **ulimit -S -a** pour voir les limites softs:
$ ulimit -S -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 24567
max locked memory (kbytes, -l) 2621440
max memory size (kbytes, -m) unlimited
open files (-n) 4096
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 24567
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
$ ulimit -H -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 24567
max locked memory (kbytes, -l) 2621440
max memory size (kbytes, -m) unlimited
open files (-n) 4096
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 24567
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
~~DISCUSSION~~