limits.conf & pam : limites d'utilisation de ressources

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:

#<domain>      <type>  <item>         <value>
#           

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 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~~

fr/ressources/astuces/pam_limits.txt · Last modified: 2011/03/16 01:41 (external edit)
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0