Di Linux, Anda dapat mengubah jumlah maksimum file yang terbuka. Anda dapat mengubah nomor ini dengan menggunakan ulimit memerintah. Ini memberi Anda kemampuan untuk mengontrol sumber daya yang tersedia untuk shell atau proses yang dimulai olehnya.
Baca Juga: Tetapkan Batas Proses Menjalankan Linux pada Tingkat Per Pengguna
Dalam tutorial singkat ini kami akan menunjukkan kepada Anda cara memeriksa batas file terbuka dan deskripsi file Anda saat ini, tetapi untuk melakukannya, Anda harus memiliki akses root ke sistem Anda.
Pertama, Mari kita lihat bagaimana kita bisa mengetahui jumlah maksimum deskriptor file yang dibuka di sistem Linux Anda.
Temukan Batas File Terbuka Linux
Nilai disimpan di:
# cat /proc/sys/fs/file-max 818354
Nomor yang akan Anda lihat, menunjukkan jumlah file yang dapat dibuka pengguna per sesi login. Hasilnya mungkin berbeda tergantung pada sistem Anda.
Misalnya pada CentOS server saya, batasnya ditetapkan ke 818354 , saat berada di Ubuntu server yang saya jalankan di rumah batas default disetel ke 176772 .
Jika Anda ingin melihat batas keras dan lunak, Anda dapat menggunakan perintah berikut:
Periksa Batas Keras di Linux
# ulimit -Hn 4096
Periksa Batas Lunak di Linux
# ulimit -Sn 1024
Untuk melihat nilai keras dan lunak untuk pengguna yang berbeda, Anda cukup mengganti pengguna dengan “su” kepada pengguna yang batasnya ingin Anda periksa.
Misalnya:
# su marin $ ulimit -Sn 1024
$ ulimit -Hn 4096
Cara Memeriksa Batas File Deskriptor Seluruh Sistem di Linux
Jika Anda menjalankan server, beberapa aplikasi Anda mungkin memerlukan batas yang lebih tinggi untuk deskriptor file yang dibuka. Contoh yang baik untuk itu adalah MySQL/MariaDB layanan atau Apache server web.
Anda dapat meningkatkan batas file yang dibuka di Linux dengan mengedit arahan kernel fs.file-max
. Untuk tujuan itu, Anda dapat menggunakan sysctl utilitas.
Sysctl digunakan untuk mengkonfigurasi parameter kernel saat runtime.
Misalnya, untuk meningkatkan batas file terbuka menjadi 500.000 , Anda dapat menggunakan perintah berikut sebagai root:
# sysctl -w fs.file-max=500000
Anda dapat memeriksa nilai saat ini untuk file yang dibuka dengan perintah berikut:
$ cat /proc/sys/fs/file-max
Dengan perintah di atas, perubahan yang Anda buat hanya akan tetap aktif hingga reboot berikutnya. Jika Anda ingin menerapkannya secara permanen, Anda harus mengedit file berikut:
# vi /etc/sysctl.conf
Tambahkan baris berikut:
fs.file-max=500000
Tentu saja, Anda dapat mengubah nomor sesuai kebutuhan Anda. Untuk memverifikasi perubahan lagi, gunakan:
# cat /proc/sys/fs/file-max
Pengguna harus keluar dan masuk lagi agar perubahan diterapkan. Jika Anda ingin segera menerapkan batas, Anda dapat menggunakan perintah berikut:
# sysctl -p
Menetapkan batas File Terbuka Tingkat Pengguna di Linux
Contoh di atas, menunjukkan cara menyetel batas global, tetapi Anda mungkin ingin menerapkan batas per basis pengguna. Untuk tujuan itu, sebagai root pengguna, Anda perlu mengedit file berikut:
# vi /etc/security/limits.conf
Jika Anda seorang administrator Linux, saya sarankan Anda menjadi sangat akrab dengan file itu dan apa yang dapat Anda lakukan untuk itu. Baca semua komentar di dalamnya karena memberikan fleksibilitas besar dalam hal mengelola sumber daya sistem dengan membatasi pengguna/grup pada tingkat yang berbeda.
Baris yang harus Anda tambahkan mengambil parameter berikut:
<domain> <type> <item> <value>
Berikut adalah contoh pengaturan batas lunak dan keras untuk pengguna marin :
## Example hard limit for max opened files marin hard nofile 4096 ## Example soft limit for max opened files marin soft nofile 1024
Pemikiran terakhir
Artikel singkat ini menunjukkan kepada Anda contoh dasar tentang cara memeriksa dan mengonfigurasi batas tingkat global dan pengguna untuk jumlah maksimum file yang dibuka.
Meskipun kami baru saja menggores permukaannya, saya sangat menganjurkan Anda untuk melihat dan membaca lebih detail tentang /etc/sysctl.conf dan /etc/security/limits.conf dan pelajari cara menggunakannya. Mereka akan sangat membantu Anda suatu hari nanti.