Berikut adalah file dan detail conf, tidak peduli apa yang saya lakukan, soft openfiles tidak akan membahas 1024.
CENTOS 6.7 x86_64
cat /etc/security/limits.conf
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
cat /etc/security/limits.d/90-nproc.conf
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* soft nofile 65535 * hard nofile 65535
root @ server [~] # ulimit -n
65535
cat /etc/sysctl.conf
fs.file-max = 65535
cat / proc / 1 / limit
Maks membuka file 1024 4096
itu menunjukkan batas yang benar ketika Anda menjalankan ulimit -n tetapi ketika Anda memeriksa cat / proc / 1 / Limit itu menunjukkan 1024, semua program di server terhenti dengan batas 1024 openfiles, mereka semua berjalan di bawah pengguna root.
Jawaban:
Batas yang Anda ubah hanya memengaruhi pengguna yang masuk karena diterapkan oleh PAM sebagai bagian dari proses masuk. Mereka tidak berpengaruh pada proses yang dimulai dengan cara lain, seperti dengan systemd atau init secara langsung.
Jika Anda ingin mengubah batas proses yang dimulai oleh sesuatu selain pengguna yang masuk, Anda harus melakukannya dalam proses itu sendiri. Proses yang memiliki izin root dapat mengubah batasnya seperti yang mereka inginkan.
sumber
systemd
mendukungLimitNOFILE
.systemd
?Limits.conf dan Root
Penggunaan
*
di membatasi.conf hanya berlaku untuk semua pengguna kecuali root.Jika Anda ingin menetapkan batasan pada root, Anda harus menentukan
root
alih-alih (atau sebagai tambahan)*
.Contoh:
Atau Anda dapat mengubah batas dalam skrip Anda secara manual seperti yang disebutkan dalam jawaban lain.
Catatan
Ini mengasumsikan aplikasi Anda menggunakan pam. Jika tidak, Anda harus menetapkan batas dalam skrip.
sumber
ulimit -n
pertanyaannya? Masalahnya tampaknya terkait dengan proses yang tidak dibuat oleh pengguna yang masuk.