Je suis sur Ubuntu 17.04. Essayer d'augmenter la limite de fichiers ouverts et aucune des instructions que j'ai trouvées en ligne ne fonctionne. Je peux aller jusqu'à 4096, mais je ne peux pas dépasser ça.
$ ulimit -n
1024
$ ulimit -n 4096
$ ulimit -n
4096
Ça marche. Cela ne veut pas:
$ ulimit -n 4097
bash: ulimit: open files: cannot modify limit: Operation not permitted
Cela semble être dû à la limite stricte:
$ ulimit -Hn
4096
J'ai essayé d'ajouter ces lignes à /etc/security/limits.conf:
* hard nofile 65535
* soft nofile 65535
root soft nofile 65535
root hard nofile 65535
Également ajouté cette ligne à /etc/pam.d/common-session et /etc/pam.d/common-session-noninteractive:
session required pam_limits.so
Depuis, j'ai redémarré mon ordinateur. Les modifications apportées à limits.conf ne semblent rien affecter. La limite stricte est toujours bloquée à 4096, ce qui m'empêche d'aller plus haut. Comment puis-je augmenter ma limite de fichiers ouverts?
Voici quelques informations de configuration supplémentaires:
$ cat /proc/sys/fs/file-max
1624668
la source
DefaultLimitNOFILE=65535
a fait l'affaire. Mais pourquoi/etc/security/limits.conf
ça ne marche pas?/etc/systemd/system.conf
) qui est indépendante de la configuration normale des sessions de terminal (/etc/security/limits.conf
). Je ne connais pas suffisamment systemd pour savoir pourquoi il a été implémenté de cette façon.root
utilisateur ne peuvent pas être spécifiées par*
ou par des spécificateurs de groupe.root
le littéral doit être spécifié explicitement.Pas besoin de changer quoi que ce soit dans le
/etc/security/limits.conf
fichier, il est ignoré si vous utilisez systemd.(reproduire une réponse modifiée à une autre question sur le réseau ...)
Une alternative pour ceux qui préfèrent ne pas modifier les fichiers par défaut
/etc/systemd/system.conf
et/etc/systemd/user/conf
:créer un nouveau fichier
/etc/systemd/system.conf.d/limits.conf
avec ces contenus:exécuter en
systemctl daemon-reexec
tant que rootse déconnecter et se reconnecter
vérifiez votre nouvelle limite avec
ulimit -n
.Reportez-vous à la
systemd-system.conf
page de manuel pour plus de détails.la source
/etc/systemd/system.conf
. Faire le changement semble avoir fait l'affaire, merci.En utilisant Ubuntu 17.04, j'ai obtenu la limite stricte décrite:
Je pourrais l'abaisser en utilisant
ulimit
, mais pas l'augmenter, tout comme la question le décrit.ulimit
manuel décrit:J'ai donc essayé de fixer une limite plus élevée
/etc/security/limits.conf
comme ceci:et une nouvelle connexion comme
ssh localhost -l user
m'a donné la nouvelle limite:J'espère que cela fonctionne aussi pour vous.
la source
modifier /etc/systemd/system/sonar.service
ajoutez ces deux lignes sous Service
[Un service]
LimitMEMLOCK = infini
LimitNOFILE = 65535
cela fonctionne pour moi.
la source
TL; DR J'ai ressenti le besoin de concentrer les réponses, donc elles sont plus faciles à trouver. Cela m'a pris beaucoup de temps pour rassembler toutes les pièces pour le faire fonctionner correctement ...
Il y a 2 endroits à considérer.
Session GUI
ou mieux ici:
environnement shell
ou mieux ici:
Après avoir modifié les paramètres des fichiers ci-dessus, redémarrez puis vérifiez les limites avec:
ulimit -n -Hn -Sn
la source