Saya bisa menggunakan ulimit tapi saya pikir itu hanya mempengaruhi sesi shell saya. Saya ingin batas ditingkatkan untuk semua proses. Ini di Red Hat.
Saya bisa menggunakan ulimit tapi saya pikir itu hanya mempengaruhi sesi shell saya. Saya ingin batas ditingkatkan untuk semua proses. Ini di Red Hat.
Jawaban:
Jawaban Justin memberi tahu Anda cara meningkatkan jumlah file terbuka yang tersedia total ke seluruh sistem. Tapi saya pikir Anda bertanya bagaimana meningkatkan batas per pengguna, secara global. Jawabannya adalah menambahkan baris berikut ke /etc/security/limits.conf
:
* soft nofile 2048
* hard nofile 2048
(Di mana * berarti semua pengguna.)
Ada beberapa dokumentasi ringkasan di file itu sendiri dan di man limits.conf
. Ini diimplementasikan melalui pam_limits.so
modul yang dipanggil untuk berbagai layanan yang dikonfigurasi di /etc/pam.d/
.
Dan, saya harus akui, saya tidak tahu dari mana asal 1024 default itu. Dan percayalah, saya melihat. Saya bahkan mencoba tanpa modul pam_limits dikonfigurasi, dan itu masih ada. Pasti ada hard-coded di suatu tempat, tapi saya tidak yakin di mana.
Menurut artikel Linux Meningkatkan Jumlah Maksimum File Terbuka / Penjelas File (FD) , Anda dapat meningkatkan batas file terbuka dengan menambahkan entri ke /etc/sysctl.conf
.
Tambahkan direktif konfigurasi sebagai berikut:
fs.file-max = 100000
Kemudian simpan dan tutup file tersebut. Pengguna harus keluar dan masuk lagi untuk perubahan yang diberlakukan atau mereka cukup mengetik perintah berikut:
# sysctl -p
Anda juga dapat memverifikasi pengaturan Anda dengan perintah:
# cat /proc/sys/fs/file-max
Meningkatkan jumlah maksimum file terbuka ulimit di Linux
1.Langkah: buka sysctl.conf
dan tambahkan baris ini fs.file-max = 65536
$ vi /etc/sysctl.conf
tambahkan baris baru dan
fs.file-max = 65536
Simpan dan keluar.
2.Langkah:
$ vi /etc/security/limits.conf
dan tambahkan di bawah ini
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
simpan dan keluar periksa file terbuka maks ulimit
# ulimit -a
....
open files (-n) 65535
Tetapi jika Anda mencoba untuk menambah jumlah maksimum file yang terbuka dari layanan seperti MariaDB atau sesuatu yang lain (menggunakan systemd ) yang harus Anda lakukan langsung dalam file .service
/lib/systemd/system/<servicename>.service
Akan menjadi sesuatu seperti ini:
[Unit]
Description=Some Daemon
After=syslog.target network.target
[Service]
Type=notify
LimitNOFILE=49152
ExecStart=/usr/sbin/somedaemon
[Install]
WantedBy=multi-user.target
Jawaban sepenuhnya ada di sini: Meningkatkan nproc untuk proses yang diluncurkan oleh systemd pada CentOS 7
systemd
dan perubahannya yang terus-menerus meningkat di seluruh ekosistem Linux. Meskipun, saya akan menyarankan untuk mengedit jawaban cp -r /lib/systemd/system/mariadb.service /etc/systemd/system/
dan membuat perubahan pada file itu, daripada file layanan seluruh sistem yang disediakan oleh paket.
SUPLEMENT:
Anda mungkin menemukan konfigurasi di tempat yang berbeda: /etc/security/limits.d/*.conf
Saya harus memodifikasinya. Itu tidak berhasil tanpanya. Formatnya sama dengan untuklimits.conf