Je n'arrive pas à comprendre ce qui est exactement nécessaire pour permettre au nombre maximal de descripteurs de fichier d'être élevé de manière 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, la connexion en tant qu'utilisateur et l'émission de ulimit -n
ont abouti à 1024
.
Après cela, j'ai essayé d'exiger pam_limits.so
dans tous les fichiers sous /etc/pam.d
. Redémarré. Connecté. Pas de chance.
Si je lance la commande ulimit -n 1000000
, vérifiez que la limite est définie comme prévu. J'ai donc 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 fixer 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 qui a besoin de ces limites, car il met très longtemps à effacer les descripteurs de fichier. Que dois-je faire pour augmenter de manière permanente la limite de descripteur de fichier?
J'ai augmenté le nombre de fichiers limite 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é.
~/config/security$ ulimit -n
16384