Kullanarak bir Java uygulaması çalıştırmayı planlıyorum nohup ... &. Sınır, bunun gibi komutlar için geçerli olmalıdır.
Kullanarak bir Java uygulaması çalıştırmayı planlıyorum nohup ... &. Sınır, bunun gibi komutlar için geçerli olmalıdır.
Yanıtlar:
Çoğu sistem PAM kullanır ve pam_limitsmodülün limitlerini temel alır /etc/security/limits.conf. Açık dosyalar için kullanıcı başına sınır çağrılır nofile. Her kullanıcı veya belirli bir kullanıcı veya grup için ayarlayabilirsiniz ve kullanıcının geçersiz kılabileceği (yumuşak sınır) ve yalnızca kökün geçersiz kılabileceği (sabit sınır) bir sınır belirleyebilirsiniz. Dokümantasyon ve limits.confadam sayfası detayları var. Örneğin, sınırı herkes için 50000'e çıkarmak için bu satırı girin /etc/limits.conf(ayar, oturum açtığınızda geçerli olur):
* - nofile 50000
limits.confyapmak * hard nofile 50000ve / veya * soft nofile 50000. Sert ve yumuşak arasındaki teknik farkı bilmiyorum ve her ikisini de yaptım.
limit descriptors 50000içinde, verilen terminal penceresi / oturumu içindeki değeri değiştirmek mümkündür .
ulimit( limitcsh olarak adlandırılır ) çalıştırılarak herhangi bir zamanda değiştirilebilir . Ayrıcalıklı bir kullanıcı hiçbir zaman sabit sınırdan daha yüksek olamaz.
fs.file-max = <your number>içine ekleyebilirsiniz /etc/sysctl.conf. Sonra yeniden başlatın.
sysctl fs.file-max=123456. ( /etc/sysctl.confönyükleme sırasında sysctliçeriği çağıran bir komut dosyası tarafından okunur .)
Bunun için ulimit kullanabilirsiniz:
http://bloggerdigest.blogspot.com/2006/10/purpose-of-ulimit-linux-command.html
Her ne kadar bu tür ayarlamalara başvurmadan önce çok fazla dosya tanıtıcısı açmanın kesinlikle gerekli olduğundan emin olmalısınız. Bir döngüde bir inputstream.close () yapmayı unuttuğunuz için maksimum dosya tanıtıcılarını artırmak yalnızca temel sorunu erteleyecektir.
Her program örneği için ulimit (Bash komutu - man bash kullanın veya kabuğunuz için benzer olanı bulun) kullanın. Ne yaptığınızı bilmiyorsanız global sistem sınırlarını kullanmayın - olası DoS.
nofileiçinde limits.confbaşarıyla 100000 olmaktır. Çok büyük bir ayarın SSH ile giriş yapmasını engellediğini kanıtlayabilirim ve sistemi kurtarmak için dvd'den önyükleme yapmak zorunda kaldım.
vi ~/.bashrc
Ve dosyanın sonuna bir satır ekleyin
ulimit -n 169203