déterminer ulimit pour l'utilisateur root

8

nous pensons avoir augmenté le nombre maximum de descripteurs de fichiers ouverts pour l'utilisateur root. Cela a été fait en ajoutant cette ligne à /etc/security/limits.conf:

*         -    nofile            2048

Nous pensons avoir confirmé que la limite de l'utilisateur root a été augmentée car nous pouvons dire (non décrit ici) que notre application (solr - qui est exécutée par root) a 1098 fichiers ouverts. Cependant, nous ne pouvons pas dire avec certitude combien de fichiers ouverts l'utilisateur root est autorisé. Nous nous attendrions à ce que cette commande fonctionne, mais elle ne semble pas être:

$ sudo -u root -s "ulimit -Sn"
1024

Des idées? Merci!

andersonbd1
la source
Existe-t-il d'autres entrées pour nofile dans limits.conf? Peut-être que cela est annulé. Qu'en est-il des éventuelles erreurs d'analyse de limits.conf. Pouvez-vous joindre l'intégralité de votre dossier?
Andrew Case
Utilisez-vous selinux? Quelle est la sortie de: ls -lZ /etc/security/limits.conf
Andrew Case

Réponses:

6

Obtenez le PID du processus en solrcours d'exécution, puis cat /proc/$SOLR_PID/limits- cela vous indiquera les limites réelles du processus.

Je recommanderais d'exécuter des choses comme solrun utilisateur non privilégié séparé. En faisant cela, vous avez plusieurs options ( limits.conf ou ajoutez un ulimit -n 2048au script init, ...). Le dernier n'est pas si brillant, mais fonctionne pour les paramètres rapides et le redémarrage du démon

RANT: ne me dites pas que vous ne pouvez pas redémarrer car vous perdrez le service. Si c'est le cas, vous devriez quand même avoir une configuration HA :)

Martin M.
la source
5

Après avoir modifié le nombre de fichiers ouverts /etc/security/limits.conf, l'utilisateur doit se déconnecter et se reconnecter pour prendre effet. Alors, essayez ceci:

$ sudo su -
# ulimit -Sn
quanta
la source
2

Je sais que cette question a une réponse, mais cela ressemble plus à une solution de contournement, pas à une vraie solution.

Selon ubuntu, ce n'est pas un bug mais un problème de documentation, voir: https://bugs.launchpad.net/ubuntu/+source/pam/+bug/65244

Merci pour votre rapport. Comme vous l'avez dit, ce n'est pas un bug dans pam mais un problème de documentation. Le fait d'autoriser explicitement les limites pour l'utilisateur root a été résolu il y a un certain temps (30 août 2000) mais vous devez nommer explicitement l'utilisateur root pour appliquer les limites.

Donc, si vous souhaitez modifier ulimit sur tous les utilisateurs, y compris l'utilisateur root, vous devez spécifier:

*         -    nofile            2048
root      -    nofile            2048
Zunderscore
la source