Sepertinya saya tidak tahu persis apa yang diperlukan untuk memungkinkan jumlah maksimum deskriptor file dinaikkan secara permanen untuk semua pengguna.
/etc/security/limits.conf
:
root hard nofile 1500000
root soft nofile 1000000
root hard nproc 15000
root soft nproc 10000
* hard nofile 1500000
* soft nofile 1000000
* hard nproc 15000
* soft nproc 10000
Saya telah menempatkan yang berikut ini di /etc/pam.d/common-session
:
session required pam_limits.so
Setelah reboot, login sebagai pengguna mana pun dan keluarkan ulimit -n
menghasilkan 1024
.
Setelah itu, saya mencoba meminta pam_limits.so
ke dalam setiap file di bawah /etc/pam.d
. Di-boot ulang. Masuk. Tidak beruntung.
Jika saya mengeluarkan perintah ulimit -n 1000000
, lalu periksa, batas ditetapkan seperti yang diharapkan. Jadi, saya menempatkan @reboot ulimit -n 1000000
ke crontab -e
. Di-boot ulang. Masuk. Tidak berhasil.
Saya memeriksa /etc/ssh/sshd_config
dan PAM diaktifkan.
Saya telah mencoba mengatur batas pada setiap reboot dengan:
/sbin/sysctl -w fs.file-max=1000000
/sbin/sysctl -p
Tidak beruntung.
Saya memiliki server yang memiliki banyak lalu lintas bersamaan, dan membutuhkan batasan setinggi itu, karena server membutuhkan waktu yang sangat lama untuk menghapus deskriptor file. Apa yang harus saya lakukan untuk menaikkan batas deskriptor file secara permanen?
Jawaban yang Diterima:
Saya meningkatkan jumlah batas file untuk semua orang dengan cara ini (segmen dari /etc/security/limits.conf
):
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open files (Doug: - so Samba will not complain)
* - nofile 16384
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
Itu di server 12,04. Namun, saya menguji 100000 di server 14,04 saya dan itu berfungsi dengan baik. (Sunting:juga diperiksa pada 20.04)
~/config/security$ ulimit -n
16384
EDIT:Untuk sebagian besar aplikasi itu sudah cukup, tetapi tidak mengubah nilai default untuk root:
# ulimit -n
1024
Jika nomor tersebut juga perlu diubah untuk root, maka (2020.09.04 – saya sekarang menggunakan 131.072):
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open file descriptors
* - nofile 131072
root - nofile 131072
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
Jadi:
$ sudo su
# ulimit -n
131072