Posting ini menguraikan bagaimana administrator Sistem Linux dapat membatasi jumlah proses yang diizinkan untuk setiap pengguna Sistem Operasi. Ada dua tempat di mana jumlah proses maksimum yang diizinkan (nproc ) dapat dikonfigurasi.
- /etc/security/limits.conf
- /etc/security/limits.d/90-nproc.conf ( CentOS/RHEL 5,6 ) dan /etc/security/limits.d/20-nproc.conf ( CentOS/RHEL 7 )
dari halaman manual pam_limits
Secara default, batas diambil dari /etc/security/limits.conf berkas konfigurasi. Kemudian file *.conf individu dari /etc/security/limits.d/ direktori dibaca. File diurai satu demi satu dalam urutan lokal "C". Efek dari masing-masing file sama seperti jika semua file digabungkan bersama dalam urutan penguraian. Jika file konfigurasi secara eksplisit ditentukan dengan opsi modul maka file di direktori di atas tidak diuraikan.Melihat batas lunak/keras nproc saat ini
Sistem Red Hat Enterprise Linux menggunakan dua jenis nilai untuk menentukan batas:lunak dan keras . Perbedaannya adalah batas 'lunak' dapat disesuaikan hingga batas 'keras' sementara batas 'keras' hanya dapat dikurangi dan itu adalah batas sumber daya maksimum yang mungkin dimiliki pengguna.
Setiap kali pengguna menjalankan perintah "ulimit -n", itu akan disajikan dengan batas "lunak". Oleh karena itu, jika file '/etc/security/limits.conf' memiliki nilai hard set, file tersebut tidak akan ditampilkan secara default.
– Untuk melihat batas lunak, gunakan perintah di bawah ini:
# ulimit -u -S
– Demikian pula, untuk melihat batas keras, gunakan perintah di bawah ini:
# ulimit -u -H
Cara menyetel Batas nproc (Hard and Soft)
1. Menyetel batas nproc lunak untuk sementara
Batas 'lunak' dapat disesuaikan pada batas 'keras' dengan di bawah ini di mana N kurang atau sama dengan batas 'keras'.
# ulimit -n N
Misalnya:
# ulimit -n 1024
Nilai di atas tidak permanen dan tidak akan bertahan selama login ulang. Anda dapat membuat entri dari perintah di atas di profil bash pengguna sehingga batasnya ditetapkan setiap kali pengguna login.
# vim ~/.bash_profile ulimit -n 1024
2. Menyetel batas keras/lunak nproc secara permanen
– Untuk mengatur batas nproc ke lebar sistem tak terbatas, file /etc/security/limits.d/90-nproc.conf (RHEL5, RHEL6), /etc/security/limits.d/20-nproc. conf (RHEL7) harus dibaca. Secara default, aturan dibaca dari file/etc/security/limits.conf.
– Selain itu, Anda dapat membuat file konfigurasi individual di direktori /etc/security/limits.d khusus untuk aplikasi atau layanan tertentu.
– Batas default proses pengguna ditentukan dalam file /etc/security/limits.d/90-nproc.conf (RHEL5, RHEL6), /etc/security/limits.d/20-nproc.conf (RHEL7), untuk mencegah serangan penolakan layanan yang berbahaya, seperti bom fork.
Untuk menetapkan batas keras/lunak nproc, gunakan sintaks di bawah ini.
# vi /etc/security/limits.conf [domain] [type] [item] [value]
Di sini,
[domain] dapat berupa nama pengguna, nama grup, atau entri karakter pengganti.
[type] menunjukkan jenis batas dan dapat memiliki nilai berikut:
- lembut :Ini adalah batas lunak yang dapat diubah oleh pengguna
- keras :Ini adalah batas batas lunak yang ditetapkan oleh pengguna super dan ditegakkan oleh kernel
[item] adalah sumber daya untuk menetapkan batas.
Contoh pengaturan batas nproc
Di bawah ini adalah beberapa contoh pengaturan nilai nproc menggunakan file /etc/security/limits.conf dan /etc/security/limits.d/90-nproc.conf (RHEL5, RHEL6), /etc/security/limits. d/20-nproc.conf (RHEL7):
1. Pada contoh di bawah, batas nproc ditetapkan sebagai 2047 karena ada batas keras 2047 di limit.conf.
# cat /etc/security/limits.conf | grep nproc | grep -v ^# test hard nproc 2047 test soft nproc 16384
# cat /etc/security/limits.d/90-nproc.conf | grep nproc | grep -v ^# * soft nproc 1024 root soft nproc unlimited test soft nproc 10023
# ulimit -u 2047
2. Di sini 1022 digunakan karena entri terakhir adalah “test soft nproc 1022”, batas maksimum hard adalah “1025”.
# cat /etc/security/limits.conf | grep nproc | grep -v ^# test hard nproc 2048 test soft nproc 16384
# cat /etc/security/limits.d/90-nproc.conf | grep nproc | grep -v ^# * soft nproc 1024 * hard nproc 1025 root soft nproc unlimited test hard nproc 1025 test soft nproc 1022
# ulimit -u 1022
3. Di sini 1025 digunakan karena "test hard nproc 1025" diatur, "test soft nproc 1066" digunakan karena batas lunak melebihi batas keras.
# cat /etc/security/limits.conf | grep nproc | grep -v ^# test hard nproc 1001 test soft nproc 16384
# cat /etc/security/limits.d/90-nproc.conf | grep nproc | grep -v ^# * soft nproc 1024 * hard nproc 1025 root soft nproc unlimited test hard nproc 1025 test soft nproc 1066
# ulimit -u 1025
4. Disini digunakan 1066 karena entri terakhir adalah “test soft nproc 1066” dan 1066 tidak melebihi batas hard.
# cat /etc/security/limits.conf | grep nproc | grep -v ^# test hard nproc 1001 test soft nproc 16384
# cat /etc/security/limits.d/90-nproc.conf | grep nproc | grep -v ^# * soft nproc 1024 * hard nproc 1025 root soft nproc unlimited test hard nproc 1100 test soft nproc 1066
# ulimit -u 1066Memahami file /etc/security/limits.conf