Je n'arrive pas à comprendre exactement ce qui est nécessaire pour permettre au nombre maximum de descripteurs de fichiers d'être augmenté de façon permanente pour tous les utilisateurs.
/etc/security/limits.conf
:
root hard nofile 1500000
root soft nofile 1000000
root hard nproc 15000
root soft nproc 10000
* hard nofile 1500000
* soft nofile 1000000
* hard nproc 15000
* soft nproc 10000
J'ai placé ce qui suit dans le /etc/pam.d/common-session
:
session required pam_limits.so
Après un redémarrage, se connecter en tant qu'utilisateur quelconque et émettre ulimit -n
a donné 1024
.
Après cela, j'ai essayé d'exiger pam_limits.so
dans chaque fichier sous /etc/pam.d
. Redémarré. Connecté. Pas de chance.
Si j'émets la commande ulimit -n 1000000
, puis vérifiez que la limite est définie comme prévu. Donc, j'ai placé @reboot ulimit -n 1000000
dans crontab -e
. Redémarré. Connecté. Pas de chance.
J'ai vérifié /etc/ssh/sshd_config
et PAM est activé.
J'ai essayé de définir les limites à chaque redémarrage avec :
/sbin/sysctl -w fs.file-max=1000000
/sbin/sysctl -p
Pas de chance.
J'ai un serveur qui a une tonne de trafic simultané et j'ai besoin de ces limites aussi élevées, car il faut beaucoup de temps au serveur pour effacer les descripteurs de fichiers. Que dois-je faire pour augmenter de façon permanente la limite des descripteurs de fichiers ?
Réponse acceptée :
J'ai augmenté le nombre de limites de fichiers pour tout le monde de cette façon (segment de /etc/security/limits.conf
):
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open files (Doug: - so Samba will not complain)
* - nofile 16384
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
C'était sur un serveur 12.04. Cependant, j'ai testé 100000 sur mon serveur 14.04 et cela a bien fonctionné. (Edit :également vérifié le 20.04)
~/config/security$ ulimit -n
16384
EDIT :Pour la plupart des applications, cela suffit, mais cela ne change pas la valeur par défaut de root :
# ulimit -n
1024
Si le nombre doit également être changé pour la racine, alors (2020.09.04 - j'utilise maintenant 131 072) :
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open file descriptors
* - nofile 131072
root - nofile 131072
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
Et donc :
$ sudo su
# ulimit -n
131072