Cara Meningkatkan Batas Jumlah File Terbuka di Linux


Di Linux, Anda dapat mengubah jumlah maksimum file yang terbuka. Anda dapat mengubah nomor ini dengan menggunakan perintah ulimit. Ini memberi Anda kemampuan untuk mengontrol sumber daya yang tersedia untuk shell atau proses yang dimulai olehnya.

Baca Juga: Tetapkan Batas Proses yang Berjalan di 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 dapat mengetahui jumlah maksimum deskriptor file yang dibuka di sistem Linux Anda.

Temukan Batas File Terbuka Linux

Nilainya 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 server CentOS milik saya, batasnya ditetapkan ke 818354, sedangkan pada server Ubuntu yang saya jalankan di rumah, batas defaultnya adalah disetel ke 176772.

Jika ingin melihat batasan hard dan soft, 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 mengalihkan pengguna dengan “su” ke pengguna yang batasannya ingin Anda periksa.

Misalnya:

su marin
ulimit -Sn

1024
ulimit -Hn

4096

Cara Memeriksa Batas Deskriptor File Seluruh Sistem di Linux

Jika Anda menjalankan server, beberapa aplikasi Anda mungkin memerlukan batas yang lebih tinggi untuk deskriptor file yang dibuka. Contoh bagusnya adalah layanan MySQL/MariaDB atau server web Apache.

Anda dapat meningkatkan batas file yang dibuka di Linux dengan mengedit direktif kernel fs.file-max. Untuk tujuan tersebut, Anda dapat menggunakan utilitas sysctl.

Sysctl digunakan untuk mengonfigurasi parameter kernel saat runtime.

Misalnya, untuk meningkatkan batas file terbuka menjadi 500000, 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 lakukan 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 nomornya 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 batasan tersebut, Anda dapat menggunakan perintah berikut:

sysctl -p

Tetapkan batas File Terbuka Tingkat Pengguna di Linux

Contoh di atas menunjukkan cara menetapkan batasan global, namun Anda mungkin ingin menerapkan batasan per basis pengguna. Untuk tujuan itu, sebagai pengguna root, Anda perlu mengedit file berikut:

vi /etc/security/limits.conf

Jika Anda seorang administrator Linux, saya menyarankan agar Anda memahami file itu dan apa yang dapat Anda lakukan terhadapnya. Baca semua komentar di dalamnya karena memberikan fleksibilitas besar dalam hal pengelolaan sumber daya sistem dengan membatasi pengguna/grup di tingkat yang berbeda.

Baris yang harus Anda tambahkan mengambil parameter berikut:

<domain>        <type>  <item>  <value>

Berikut ini contoh penetapan batas lunak dan batas keras untuk marin pengguna:

## Example hard limit for max opened files
marin        hard nofile 4096
## Example soft limit for max opened files
marin        soft nofile 1024

Pikiran terakhir

Artikel singkat ini menunjukkan contoh dasar tentang cara memeriksa dan mengonfigurasi batas global dan tingkat pengguna untuk jumlah maksimum file yang dibuka.

Meskipun kita baru menggali permukaannya, saya sangat menganjurkan Anda untuk melihat dan membaca lebih detail mengenai /etc/sysctl.conf dan /etc/security/limits.conf dan pelajari cara menggunakannya. Mereka akan sangat membantu Anda suatu hari nanti.