Je prévois d'exécuter une application Java en utilisant nohup ... &
. La limite doit s'appliquer à des commandes comme celle-ci.
Je prévois d'exécuter une application Java en utilisant nohup ... &
. La limite doit s'appliquer à des commandes comme celle-ci.
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ée nofile
. 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 la limits.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):
* - nofile 50000
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ée limit
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.
sysctl fs.file-max=123456
. ( /etc/sysctl.conf
est lu au démarrage par un script qui fait appel sysctl
au contenu.)
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.
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.
nofile
en limits.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.
vi ~/.bashrc
Et ajoutez une ligne à la fin du fichier
ulimit -n 169203