web-dev-qa-db-fra.com

modifier et appliquer limits.conf sans redémarrer

J'ai ajouté une ligne dans /etc/security/limits.conf pour augmenter le nombre de fichiers ouverts.

*    hard nofile 4096
root hard nofile 16384

Cependant, lorsque je lance ulimit -n, il indique 1024, ce qui correspond à la valeur par défaut. J'ai fait une déconnexion et une connexion, mais je vois toujours 1024. Comment puis-je appliquer le changement?

12
mahmood

Si vous utilisez bash, ulimit -n n'affichera que la limite souple. Pour obtenir la limite stricte, vous devez faire ulimit -Hn.

Sur mon système, je vois ceci:

$ ulimit -n
1024
$ ulimit -Hn
4096
7
Flup

Modifications apportées par la commande ulimit:

$ ulimit -n 4096
$ ulimit -Hn 16384

s'appliquera uniquement pour l'utilisateur actuel et la session. Pour le rendre permanent, vous devez modifier /etc/security/limits.conf en ajoutant vos limites:

* soft nofile 4096
* hard nofile 16384

Cependant, le caractère générique * ne s'applique pas à l'utilisateur root. Pour cela, vous devez l'indiquer explicitement:

* soft nofile 4096
* hard nofile 16384
root soft nofile 4096
root hard nofile 16384

Ces limites seront appliquées après le redémarrage .

Si vous souhaitez appliquer des modifications sans redémarrer , modifiez /etc/pam.d/common-session en ajoutant cette ligne à la fin du fichier:

session required pam_limits.so

Lors de la prochaine connexion, vous devriez voir les limites mises à jour, vous pouvez les vérifier (limites soft et hard):

$ ulimit -a
$ ulimit -Ha
13
Tombart