Ho intenzione di eseguire un'app Java usando nohup ... &
. Il limite deve essere applicato a comandi come questo.
Ho intenzione di eseguire un'app Java usando nohup ... &
. Il limite deve essere applicato a comandi come questo.
Risposte:
La maggior parte dei sistemi usa PAM e ha il pam_limits
modulo impostato limiti basati su /etc/security/limits.conf
. Viene chiamato il limite per utente per i file aperti nofile
. Puoi impostarlo per ogni utente o per un particolare utente o gruppo e puoi impostare un limite che l'utente può sovrascrivere (limite soft) e un altro che solo il root può ignorare (limite hard). La documentazione e la limits.conf
pagina man hanno i dettagli. Ad esempio, per aumentare il limite a 50000 per tutti, inserisci questa riga /etc/limits.conf
(l'impostazione diventa effettiva quando accedi):
* - nofile 50000
limits.conf
do * hard nofile 50000
e / o * soft nofile 50000
. Non conosco la differenza tecnica tra duro e morbido e ho sempre fatto entrambe le cose.
limit descriptors 50000
per cambiare il valore all'interno della finestra / sessione del terminale data.
ulimit
comando (chiamato limit
in csh). Un utente senza privilegi non può mai superare il limite massimo.
puoi aggiungere fs.file-max = <your number>
in /etc/sysctl.conf
. Quindi riavviare.
sysctl fs.file-max=123456
. ( /etc/sysctl.conf
viene letto all'avvio da uno script che richiama sysctl
il contenuto.)
Puoi usare ulimit per questo:
http://bloggerdigest.blogspot.com/2006/10/purpose-of-ulimit-linux-command.html
Anche se dovresti assicurarti che l'apertura di così tanti handle di file sia assolutamente necessaria prima di ricorrere a tali aggiustamenti. Aumentare gli handle massimi di file solo perché hai dimenticato di fare un inputstream.close () in un ciclo ritarderà solo il problema sottostante.
Usa ulimit (comando Bash - man bash o trova simile per la tua shell) per istanza del programma. Non utilizzare i limiti di sistema globali se non sai cosa stai facendo - possibili DoS.
nofile
in limits.conf
essere con successo 100000. Posso attestare che l'impostazione di un valore troppo grande ha impedito l'accesso successivo con SSH e ho dovuto eseguire l'avvio da dvd per correggere quel valore in limits.conf per ripristinare il sistema.
vi ~/.bashrc
E aggiungi una riga alla fine del file
ulimit -n 169203