Questo accade su Ubuntu Release 12.04 (preciso) 64-bit Kernel Linux 3.2.0-25-virtual
Sto cercando di aumentare il numero di file aperti consentiti per un utente. Questo è per la mia applicazione java eclipse in cui l'attuale limite di 1024 non è sufficiente.
Secondo i post che ho trovato finora, dovrei essere in grado di inserire le righe
/etc/security/limits.conf in questo modo:
soft nofile 4096
hard nofile 4096
per aumentare il numero di file aperti consentiti per tutti gli utenti.
Ma non funziona per me e penso che il problema non sia correlato a quel file.
Per tutti gli utenti, il limite predefinito è 1024, indipendentemente da ciò che è in /etc/security/limits.conf (ho riavviato dopo aver modificato quel file)
$ ulimit -n
1024
Ora, nonostante le voci in /etc/security/limits.conf non posso aumentarlo:
$ ulimit -n 2048
-bash: ulimit: file aperti: impossibile modificare il limite: operazione non consentita La parte strana è che posso cambiare il limite verso il basso , ma non posso cambiarlo verso l'alto - anche per tornare a un numero che è al di sotto del limite originale:
$ ulimit -n 800
$ ulimit -n
800
$ ulimit -n 900
-bash: ulimit: open files: cannot modify limit: Operation not permitted
Come root, posso cambiare quel limite con quello che voglio, su o giù. Non sembra nemmeno preoccuparsi del presunto limite a livello di sistema in / proc / sys / fs / file-max
# cat /proc/sys/fs/file-max
188897
# ulimit -n 188898
# ulimit -n
188898
Ma anche se eseguo eclipse come root, la mia applicazione si blocca ancora a causa dell'eccezione "Troppi file aperti"!
Finora non ho trovato alcun modo per aumentare il limite di file aperti per un utente non root.
Come dovrei farlo correttamente? Ho visto molti altri post, ma senza fortuna!
/etc/security/limits.conf
, potrebbe essere necessario disconnettersi e riconnettersi prima di poter utilizzare il nuovo limite massimo. L'ho fatto e sono rimasto sconcertatoulimit -Hs
mostrando ancora 1000 quando l'ho appena aumentato a 1000000! Quindi mi sono disconnesso e riconnesso e ulimit ha mostrato il nuovo importo.