2012-12-28 12 views
7

Per aumentare il limite di FD per tutti i processi su una macchina Ubuntu Linux abbiamo a seguito di modifiche in /etc/security/limits.confCome ottenere le modifiche di /etc/security/limits.conf riflesse per i processi in esecuzione in utente senza headless?

soft nofile 10000 
hard nofile 10000 

Abbiamo anche aggiunto sessione richiesto pam_limits.so in /etc/pam.d/login. Le modifiche si sono riflesse per tutti gli utenti che hanno effettuato il logout e hanno effettuato nuovamente l'accesso. Qualunque siano i nuovi processi che stanno iniziando sotto quegli utenti stanno ottenendo nuovi limiti FD.

Ma per i processi in esecuzione con utente senza testa le modifiche non vengono riflesse. qual è il modo in cui le modifiche possono essere riflesse per i processi che sono in esecuzione anche in utente senza headless?

+1

Cosa intendi con utente senza testa? – Atropo

risposta

5

Ho avuto lo stesso problema (con root/myuser) e non sono riuscito a trovare una risposta definitiva. Ho finito solo l'aggiunta di

ulimit -n 64000

Per lo script init.d che avvia il processo (di ricerca Elastico in questo caso), e questo sembra fare il trucco.

Speriamo che qualcun altro conosca una soluzione migliore!

+0

è necessario avviare lo script init.d utilizzando i diritti sudo a causa del quale ulimit -n potrebbe funzionare. Nel mio caso lo script che avvia il processo non viene eseguito con i privilegi di root, quindi utilizzando ulimit che richiede i privilegi di root non è un'opzione qui – Ameliorator

+1

Sì, è corretto. Non capisco perché '/ etc/security/limits.conf' non si applichi allo script init.d. (Posso lanciarlo manualmente dopo il fatto ei limiti sono come previsto!) – Spike

+0

Nel mio caso particolare, l'applicazione che stavo correndo era iniziata con sudo. Credevo che i limiti sarebbero stati quindi applicati dall'account dell'utente root. Mi sbagliavo. Invece, ho trovato che, sebbene l'applicazione fosse in esecuzione come root, i limiti ad essa applicati erano i limiti che appartengono all'utente che ha lanciato l'applicazione. – MaasSql

Problemi correlati