Je prévois d'exécuter une application Java en utilisant nohup ... &
. La limite doit s'appliquer à des commandes comme celle-ci.
open-files
limit
Ricardo Altamirano
la source
la source
Réponses:
La plupart des systèmes utilisent PAM et les
pam_limits
limites de module sont basées sur/etc/security/limits.conf
. La limite par utilisateur pour les fichiers ouverts est appeléenofile
. Vous pouvez le définir pour chaque utilisateur ou pour un utilisateur ou un groupe particulier, et vous pouvez définir une limite que l'utilisateur peut remplacer (limite souple) et une autre que seule la racine peut remplacer (limite stricte). La documentation et lalimits.conf
page de manuel contiennent les détails. Par exemple, pour augmenter la limite à 50000 pour tout le monde, mettez cette ligne/etc/limits.conf
(le paramètre prend effet lorsque vous vous connectez):la source
limits.conf
do* hard nofile 50000
et / ou* soft nofile 50000
. Je ne connais pas la différence technique entre le dur et le doux et j'ai toujours fait les deux.limit descriptors 50000
pour changer la valeur dans la fenêtre / session de terminal donnée.ulimit
commande (appeléelimit
dans csh). Un utilisateur non privilégié ne peut jamais dépasser la limite maximale.vous pouvez ajouter
fs.file-max = <your number>
en/etc/sysctl.conf
. Redémarrez ensuite.la source
sysctl fs.file-max=123456
. (/etc/sysctl.conf
est lu au démarrage par un script qui fait appelsysctl
au contenu.)peut modifier les paramètres de processus et
ou la variable sysctl appelée
fs.file-max
peut être utilisée pour lire et définir la valeur à l'échelle du systèmela source
Vous pouvez utiliser ulimit pour cela:
http://bloggerdigest.blogspot.com/2006/10/purpose-of-ulimit-linux-command.html
Bien que vous deviez vous assurer que l'ouverture d'autant de descripteurs de fichiers est absolument nécessaire avant de recourir à de tels ajustements. Augmenter le nombre maximal de descripteurs de fichiers simplement parce que vous avez oublié de faire un inputstream.close () dans une boucle ne fera que retarder le problème sous-jacent.
la source
Utilisez ulimit (commande Bash - man bash ou trouver similaire pour votre shell) par instance de programme. N'utilisez pas les limites globales du système si vous ne savez pas ce que vous faites - DoS possible.
la source
nofile
enlimits.conf
être 100000 avec succès. Je peux attester que la définition d'une valeur trop grande a empêché une connexion ultérieure avec SSH et j'ai dû démarrer à partir du DVD pour corriger cette valeur dans limits.conf pour récupérer le système.Et ajoutez une ligne à la fin du fichier
la source