Saya berencana untuk menjalankan aplikasi Java menggunakan nohup ... &
. Batas harus berlaku untuk perintah seperti ini.
open-files
limit
Ricardo Altamirano
sumber
sumber
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 disebutnofile
. 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 danlimits.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):sumber
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 (disebutlimit
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.sumber
sysctl fs.file-max=123456
. (/etc/sysctl.conf
Dibaca pada saat boot oleh skrip yang memanggilsysctl
konten.)dapat memodifikasi per pengaturan proses dan
atau variabel sysctl yang dipanggil
fs.file-max
dapat digunakan untuk membaca dan mengatur nilai seluruh sistemsumber
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.
sumber
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.
sumber
nofile
dalamlimits.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.Dan tambahkan baris di akhir file
sumber