Outils pour utilisateurs

Outils du site


raspberry:ulimit (lu 8010 fois)

ulimit

Dernièrement j’ai eu une saturation de mon raspberry et comme je le monitor avec zabbix, celui-ci continuait d’exécuter toutes les minutes zabbix_sender sans vérifier que la dernière commande était bien fini.

Résultat, il y avait 1500 processus zabbix_sender en parallèle ce qui n’arrangeait pas la charge cpu qui était monté à 27.

Bref je me suis donc tourné vers ulimit qui va nous permettre de limiter le nombre de processus simultané.

Ajoutez la ligne suivante dans le fichier /etc/security/limits.conf

zabbix          hard    nproc           20

Ça va limiter physiquement l’utilisateur zabbix à 20 processus en même temps

Ajoutez la ligne suivante dans le fichier /etc/pam.d/common-session

session required pam_limits.so

Les limits seront automatiquement chargées à chaque session.

Pour vérifier, passez sous l’utilisateur zabbix via root car zabbix n’a pas de mot de passe

su - zabbix

Lancez la commande suivante pour voir toute sles limitations de cet utilisateur

ulimit -a

ou cette commande pour voir uniquement ce qui nous intéresse, le nombre de processus simultané maximum

ulimit -u

Vous pouvez maintenant tester tout ça en lançant dans un terminal la commande

watch "ps aux | egrep '^zabbix'"

et dans un autre terminal un fork bomb (sous l’utilisateur zabbix bien sur)

:(){ :|:& };:

Vous verrez que le nombre de process ne dépassera pas 20

Every 2,0s: ps aux | egrep '^zabbix'                                                                                                                                                       Sun Sep 14 21:39:41 2014

zabbix    2573  0.0  0.2   3264   664 ?        S    20:55   0:00 /usr/local/sbin/zabbix_agentd
zabbix    2574  0.0  0.2   3264   672 ?        S    20:55   0:02 /usr/local/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix    2575  0.1  0.5   3316  1264 ?        S    20:55   0:04 /usr/local/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
zabbix    5541  0.8  1.1   5764  2792 pts/1    S+   21:38   0:00 -su
zabbix    5703  0.0  0.7   5920  1888 pts/1    S    21:39   0:00 -su
zabbix    5704  0.0  0.7   5920  1884 pts/1    S    21:39   0:00 -su
zabbix    5705  0.0  0.7   5920  1888 pts/1    S    21:39   0:00 -su
zabbix    5706  0.0  0.7   5920  1884 pts/1    S    21:39   0:00 -su
zabbix    5707  0.0  0.7   5920  1888 pts/1    S    21:39   0:00 -su
zabbix    5709  0.0  0.7   5920  1888 pts/1    S    21:39   0:00 -su
zabbix    5710  0.0  0.7   5920  1884 pts/1    S    21:39   0:00 -su
zabbix    5711  0.0  0.7   5920  1888 pts/1    S    21:39   0:00 -su
zabbix    5712  0.0  0.7   5920  1884 pts/1    S    21:39   0:00 -su
zabbix    5713  0.0  0.7   5920  1888 pts/1    S    21:39   0:00 -su
zabbix    5714  0.0  0.7   5920  1884 pts/1    S    21:39   0:00 -su
zabbix    5715  0.0  0.7   5920  1884 pts/1    S    21:39   0:00 -su
zabbix    5716  0.0  0.7   5920  1884 pts/1    S    21:39   0:00 -su
zabbix    5717  0.0  0.7   5920  1888 pts/1    S    21:39   0:00 -su
zabbix    5718  0.0  0.7   5920  1884 pts/1    S    21:39   0:00 -su
zabbix    5719  0.0  0.7   5920  1884 pts/1    S    21:39   0:00 -su

Sans cette limite, votre raspberry serait parti dans les choux et pas d’autre moyen que de le débrancher électriquement (sauf si vous avez mis un watchdog).

raspberry/ulimit.txt · Dernière modification: 14-09-2014 21:42 de edmc73