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_limits
modü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.conf
adam 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.conf
yapmak * hard nofile 50000
ve / veya * soft nofile 50000
. Sert ve yumuşak arasındaki teknik farkı bilmiyorum ve her ikisini de yaptım.
limit descriptors 50000
içinde, verilen terminal penceresi / oturumu içindeki değeri değiştirmek mümkündür .
ulimit
( limit
csh 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 sysctl
iç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.
nofile
içinde limits.conf
baş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