Di Linux, ulimit adalah alat bawaan untuk mengelola alokasi sumber daya di tingkat global, grup, dan pengguna. Untuk sistem multi-pengguna seperti Linux, fitur seperti itu hampir sangat penting untuk dimiliki. Itu dapat mencegah konsumsi sumber daya sistem yang tidak diinginkan seperti RAM, dan daya CPU.
Lihat cara mengatur nilai ulimit secara permanen di Linux.
Nilai batas
Ulimit memberlakukan batas yang telah ditentukan sebelumnya tentang berapa banyak sumber daya yang dapat digunakan pengguna. Alat ini menggunakan file konfigurasi tertentu sebagai inti untuk menetapkan nilai ulimit. Untuk kontrol yang lebih baik, lebih baik untuk mengedit file.
$ cat /etc/security/limits.konf
Ada dua jenis batasan yang dapat diterapkan: batas lunak dan keras. Lebih baik menjelaskan jenis ini dengan contoh sederhana.
Katakanlah admin sistem ingin pengguna tertentu melayang di sekitar nilai tertentu. Di sini, pengguna dapat melebihi nilai jika perlu tetapi tidak terikat olehnya. Dalam hal ini, ini akan menjadi batas lunak. Di sisi lain, jika admin ingin menerapkan batas secara ketat, itu akan menjadi batas keras.
Menggunakan ulimit
Ulimit adalah alat baris perintah. Inilah struktur dasar dari perintah ulimit.
$ ulimitTampilkan semua batasan
Bendera “-a” akan mencantumkan semua opsi dan konfigurasi untuk pengguna tertentu. Jika tidak ada pengguna yang ditentukan, itu akan mencetak batas untuk pengguna saat ini sebagai gantinya.
$ ulimit -a$ ulimit -a
Untuk menampilkan batas lunak pengguna, gunakan tanda “-S”.
Untuk menampilkan batas keras pengguna, gunakan tanda “-H”.
Dimungkinkan untuk melihat batas dari proses tertentu. Detailnya ada di file berikut. Perhatikan bahwa ini adalah file unik untuk setiap proses yang sedang berjalan. Tukar bidang PID dengan PID dari proses target.
Batasi parameter
Untuk mengubah ulimit, Anda harus mendeklarasikan jenis limit yang ingin Anda tentukan. Berikut adalah daftar pendek dengan semua parameter yang tersedia yang dapat Anda ubah. Hampir semuanya menentukan nilai maksimum dari masing-masing parameter.
- b: Ukuran penyangga soket
- c: Ukuran file inti yang dibuat
- d: Ukuran segmen data proses
- e: Prioritas penjadwalan (nilai "bagus")
- f: Jumlah file yang dibuat oleh shell
- i: Jumlah sinyal tertunda
- l: Ukuran untuk mengunci ke dalam memori
- m: Ukuran set tempat tinggal
- n: Jumlah deskriptor file yang terbuka
- p: Ukuran penyangga pipa
- q: Jumlah byte dalam antrian pesan POSIX
- r: Prioritas penjadwalan waktu nyata
- s: Ukuran tumpukan
- t: waktu CPU (dalam detik)
- T: Jumlah utas
- u: Jumlah proses yang tersedia untuk pengguna
- v: Jumlah memori virtual yang tersedia untuk diproses
- x: Jumlah kunci file
Ubah nilai ulimit sementara
Dimungkinkan untuk sementara mengubah nilai ulimit untuk pengguna tertentu. Perubahan akan tetap berlaku hingga pengguna logout, sesi berakhir, atau sistem reboot. Di sini, saya akan menunjukkan contoh cara mengatur nomor proses maksimal untuk pengguna.
Untuk mengubah jumlah proses yang tersedia menjadi 12345, jalankan perintah berikut:. Itu akan memberlakukan batas keras sementara pada pengguna.
$ ulimit -u$ ulimit -u 12345
Periksa batas keras untuk memverifikasi.
Ubah nilai ulimit secara permanen
Seperti disebutkan sebelumnya, ulimit menggunakan file konfigurasi sistem yang menentukan nilai ulimit default. Dengan membuat perubahan pada file ini, Anda dapat mengubah nilai ulimit secara permanen untuk setiap pengguna.
Buka file di editor teks favorit Anda. Perhatikan bahwa file harus dibuka dengan izin root agar perubahan dapat disimpan.
$ sudo vim /etc/security/limits.konf
Di sini, entri file mengikuti struktur berikut.
Mari kita perincian cepat dari masing-masing bidang.
- domain: Nama pengguna, grup, rentang GUID, dll.
- jenis: Jenis batas (lunak/keras)
- item: Sumber daya yang akan dibatasi, misalnya, ukuran inti, nproc, ukuran file, dll.
- nilai: Nilai batas
Berikut adalah daftar pendek dari semua item yang tersedia.
- core: Membatasi ukuran file inti (dalam KB)
- cpu: waktu CPU (dalam menit)
- data: Ukuran data (dalam KB)
- fsize: Ukuran file (dalam KB)
- kunci: Kunci file yang dapat dipegang pengguna
- memlock: Ruang alamat memori yang terkunci (dalam KB)
- nproc: Jumlah prosesor
- rtpio: Prioritas waktu nyata
- sigpending: Jumlah sinyal tertunda
Untuk daftar lengkap item yang tersedia, lihat halaman manual batas .konf.
$ batas orang.konf
Misalnya, entri berikut akan membatasi jumlah inti CPU yang dapat digunakan pengguna "Viktor" hingga 2.
Setelah diedit, simpan file. Untuk menerapkan perubahan, pengguna yang terpengaruh harus keluar dan masuk kembali. Bergantung pada bagaimana penerapannya, sistem mungkin juga perlu di-boot ulang.
Pikiran terakhir
Alat ulimit menawarkan cara yang ampuh untuk mengelola sumber daya. Ini sederhana namun kuat dalam apa yang dilakukannya. Apa pun yang Anda lakukan, pastikan batas yang akan Anda terapkan dimasukkan dengan benar. Jika Anda mencoba hal-hal ini untuk pertama kalinya, cobalah untuk mengujinya di mesin virtual terlebih dahulu.
Ada lebih banyak perintah ulimit daripada yang telah saya diskusikan di sini. Jika Anda ingin mempelajari lebih lanjut, lihat perintah ulimit Linux.
Selamat berkomputasi!