Saya berencana untuk menjalankan aplikasi Java menggunakan nohup ... &
. Batas harus berlaku untuk perintah seperti ini.
Saya berencana untuk menjalankan aplikasi Java menggunakan nohup ... &
. Batas harus berlaku untuk perintah seperti ini.
Jawaban:
Sebagian besar sistem menggunakan PAM , dan memiliki batas pam_limits
modul yang ditetapkan berdasarkan /etc/security/limits.conf
. Batas per pengguna untuk file terbuka disebut nofile
. Anda dapat mengaturnya untuk setiap pengguna atau untuk pengguna atau grup tertentu, dan Anda dapat menetapkan batas yang dapat ditimpa pengguna (batas lunak) dan lainnya yang hanya dapat ditimpa oleh root (batas keras). The dokumentasi dan limits.conf
halaman manual memiliki rincian. Misalnya, untuk menaikkan batas menjadi 50000 untuk semua orang, masukkan baris ini /etc/limits.conf
(pengaturan mulai berlaku saat Anda masuk):
* - nofile 50000
limits.conf
do * hard nofile 50000
dan / atau * soft nofile 50000
. Saya tidak tahu perbedaan teknis antara keras dan lunak dan selalu melakukan keduanya.
limit descriptors 50000
untuk mengubah nilai dalam jendela / sesi terminal yang diberikan.
ulimit
perintah (disebut limit
csh). Pengguna yang tidak memiliki hak tidak akan pernah bisa melampaui batas yang keras.
Anda dapat menambahkan fs.file-max = <your number>
ke dalam /etc/sysctl.conf
. Kemudian reboot.
sysctl fs.file-max=123456
. ( /etc/sysctl.conf
Dibaca pada saat boot oleh skrip yang memanggil sysctl
konten.)
Anda dapat menggunakan ulimit untuk ini:
http://bloggerdigest.blogspot.com/2006/10/purpose-of-ulimit-linux-command.html
Meskipun Anda harus memastikan bahwa membuka begitu banyak pegangan file benar-benar diperlukan sebelum beralih ke penyesuaian seperti itu. Meningkatkan penanganan file maksimum hanya karena Anda lupa melakukan inputstream.close () dalam satu lingkaran hanya akan menunda masalah yang mendasarinya.
Gunakan ulimit (perintah Bash - man bash atau temukan yang serupa untuk shell Anda) per instance program. Jangan gunakan batas sistem global jika Anda tidak tahu apa yang Anda lakukan - kemungkinan DoS.
nofile
dalam limits.conf
menjadi 100000 berhasil. Saya dapat membuktikan bahwa pengaturan nilai yang terlalu besar mencegah login berikutnya dengan SSH dan saya harus mem-boot dari dvd untuk mengoreksi nilai tersebut di Limit.conf untuk memulihkan sistem.
vi ~/.bashrc
Dan tambahkan baris di akhir file
ulimit -n 169203