Bu Ubuntu Sürüm 12.04 (kesin) 64-bit Çekirdekli Linux 3.2.0-25-sanal'da gerçekleşiyor
Bir kullanıcı için izin verilen açık dosya sayısını artırmaya çalışıyorum. Bu, tutturma java uygulamam için geçerlidir.
Şimdiye kadar bulduğum yayınlara göre, satırlara girmem gerekiyor
/etc/security/limits.conf bunu beğendi:
soft nofile 4096
hard nofile 4096
Tüm kullanıcılar için izin verilen açık dosya sayısını artırmak.
Ama bu benim için çalışmıyor ve sorunun bu dosyayla ilgili olmadığını düşünüyorum.
Tüm kullanıcılar için, varsayılan limit, /etc/security/limits.conf içinde ne olduğuna bakılmaksızın 1024'tür (Bu dosyayı değiştirdikten sonra yeniden başlattım)
$ ulimit -n
1024
Şimdi, /etc/security/limits.conf girişlerine rağmen şunu artıramam:
$ ulimit -n 2048
-bash: ulimit: açık dosyalar: limiti değiştiremez: İşlem izin verilmez Garip kısım, limiti aşağıya doğru değiştirebildiğim , ancak yukarı doğru değiştirememem - orijinal sınırın altındaki bir sayıya geri dönmek için bile:
$ ulimit -n 800
$ ulimit -n
800
$ ulimit -n 900
-bash: ulimit: open files: cannot modify limit: Operation not permitted
Kök olarak, bu limiti istediğim, yukarı ya da aşağı olarak değiştirebilirim. Hatta sözde sistemde / proc / sys / fs / file-max sınırını önemsemiyor gibi görünüyor
# cat /proc/sys/fs/file-max
188897
# ulimit -n 188898
# ulimit -n
188898
Ancak, root olarak çalışması için tutulma bile olsa, uygulamam hala "Çok Fazla Açık Dosya" istisnası nedeniyle çöküyor!
Şimdiye kadar, root olmayan bir kullanıcı için açık dosya limitini arttırmanın bir yolunu bulamadım.
Bunu doğru şekilde nasıl yapmalıyım? Birkaç başka mesaja baktım ama şans yok!
/etc/security/limits.conf
sonra, yeni maksimum limiti kullanabilmeniz için önce oturumu kapatıp tekrar açmanız gerekebileceğini unutmayın . Bunu yaptım veulimit -Hs
1000000'e yükselttiğimde hala 1000 göstererek şaşırdım! Sonra çıkış yaptım ve tekrar giriş yaptım ve ulimit yeni miktarı gösterdi.