Questo articolo , penso risolva il tuo problema.
Fondamentalmente dovresti usare il comando ulimit per aumentare le risorse disponibili.
Per esempio:
Utilizzare il comando seguente per visualizzare il numero massimo di descrittori di file aperti:
cat /proc/sys/fs/file-max
Per visualizzare i valori hard e soft, emettere il comando come segue:
# ulimit -Hn
# ulimit -Sn
Per visualizzare i valori hard e soft per l'utente httpd o oracle, emettere il comando come segue:
# su - username
Per correggere il numero massimo di file, è possibile aumentare il numero massimo di file aperti impostando un nuovo valore nella variabile del kernel / proc / sys / fs / file-max come segue (accedere come root):
# sysctl -w fs.file-max=100000
Il comando sopra impone il limite a 100000 file. È necessario modificare il /etc/sysctl.conf
file e inserire la seguente riga in modo che dopo il riavvio l'impostazione rimanga così com'è. Per fare ciò, aggiungi una direttiva di configurazione come segue:
fs.file-max = 100000
Salva e chiudi il file. Gli utenti devono disconnettersi e riconnettersi per rendere effettive le modifiche o digitare semplicemente il comando seguente:
# sysctl -p
Verifica le tue impostazioni con il comando:
# cat /proc/sys/fs/file-max
o:
# sysctl fs.file-max
La procedura sopra descritta imposta limiti di descrittori di file (FD) a livello di sistema, tuttavia è possibile limitare l'utente httpd
(o qualsiasi altro utente) a limiti specifici modificando il /etc/security/limits.conf
file modificando /etc/security/limits.conf
e impostando i limiti come segue:
httpd soft nofile 4096
httpd hard nofile 10240
Quindi controllali con:
# su - httpd
$ ulimit -Hn
$ ulimit -Sn
Se hai il problema su altre distribuzioni Linux, controlla /etc/pam.d/login
e assicurati di aver pam_limits.so
abilitato, ad es
session required pam_limits.so