Dalam tutorial pemula ini, Anda akan belajar tentang perintah ulimit di Linux. Anda akan mengetahui cara menggunakannya untuk mengontrol alokasi sumber daya sistem.
Apa itu ulimit di Linux?
Ulimit adalah perintah shell built-in yang dirancang untuk menampilkan, mengalokasikan, dan membatasi sumber daya. Sangat penting bagi sistem apa pun untuk mengatur jenis kontrol ini.
Jenis kontrol ini dapat diterapkan di tingkat global, grup, dan pengguna. Selain memastikan pemrosesan tugas yang lancar, ini mencegah proses yang tidak diinginkan untuk menghabiskan sumber daya sistem seperti RAM, dan daya CPU.
Ulimit ditautkan ke file konfigurasi keamanan. Lokasi persis Anda mungkin berbeda tetapi biasanya seperti /etc/security/limits.conf
. Ulimit memungkinkan kita untuk mengedit konfigurasi tersebut dengan cepat.
Batas Lunak vs Keras
Sebagai pengguna, Anda sebenarnya dapat menyesuaikan pengaturan ulimit Anda.
Anda mungkin bertanya-tanya mengapa menetapkan batas jika pengguna dapat menyesuaikannya. Di sinilah batasan lunak dan keras berperan.
Jadi dari perspektif admin, Anda mungkin lebih suka pengguna Anda mengarahkan kursor ke nilai tertentu. Ini akan menjadi batas lunak Anda (misalkan 25).
Kemudian, Anda dapat menetapkan batas keras yang tidak dapat dilampaui oleh pengguna tersebut (50). Pengguna akan diizinkan untuk meningkatkan batasnya dari 25 menjadi 50.
Menggunakan ulimit di Linux
Berikut sintaks untuk perintah ulimit:
ulimit <options>
Tampilkan semua batas untuk setiap pengguna
Anda dapat menampilkan semua jenis batasan untuk pengguna tertentu dengan cara ini:
ulimit -a user_name
-a
flag akan menampilkan semua opsi dan konfigurasinya untuk nama pengguna spesifik Anda.
Jika Anda menghilangkan nama_pengguna, itu menunjukkan batasan untuk Anda. Biarkan saya menunjukkan kepada Anda batas yang disiapkan untuk saya secara default:
[email protected]:~$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 31503
max locked memory (kbytes, -l) 65536
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 31503
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Nilai default Anda mungkin berbeda dari milik saya, tentu saja. Tampilan ini menampilkan deskripsi, flag yang ditetapkan (yang dapat digunakan untuk mengubah batas), dan konfigurasi.
Tampilkan Batas Keras dan Lunak
Dimungkinkan juga untuk melihat salah satu dari batas masing-masing ini dengan bendera.
Untuk menampilkan batas lunak, gunakan opsi -S:
ulimit -S
Untuk menampilkan batas keras, gunakan opsi -H:
ulimit -H
Akan lebih berguna untuk menggabungkan ini dengan flag tertentu dari atas. Jadi, jika Anda ingin memeriksa batas keras pada jumlah maksimum proses pengguna, ketikkan:
[email protected]:~$ ulimit -Hu
31503
Ubah batas (sementara)
Sekarang, mari kita ubah nilai itu menjadi 31500 untuk tujuan demonstrasi dan periksa kembali batas kerasnya.
[email protected]:~$ ulimit -u 31500
[email protected]:~$ ulimit -Hu
31500
Perlu dicatat bahwa setiap perubahan yang diizinkan oleh hak istimewa Anda hanya akan ditulis sementara dan memengaruhi shell Anda saat ini.
Untuk mengonfirmasi ini, saya keluar dari shell saya dan membuat terminal baru dan mendapatkan nilai default asli.
[email protected]:~$ ulimit -Hu
31503
Bagian berikutnya menunjukkan cara membuat perubahan permanen.
Membuat perubahan permanen pada ulimit
Seperti yang saya sebutkan di awal artikel, ulimit diatur oleh /etc/security/limits.conf. Jika Anda ingin membuat perubahan permanen pada ulimit pengguna mana pun, Anda harus membuat perubahan pada file keamanan sebagai root.
Saat mengedit, Anda harus menyertakan empat elemen ini:
<domain> <type> <item> <value>
Berikut adalah teks yang saya tambahkan ke file untuk menetapkan batas jumlah proses untuk pengguna christoper (yaitu akun saya sendiri):
christopher hard nproc 2000
Ingatlah bahwa ini adalah praktik terbaik untuk tidak mengaktifkan akun root kecuali Anda sepenuhnya menyadari potensi konsekuensinya. Saya telah melakukannya di mesin virtual sehingga Anda tidak perlu melakukannya sendiri.
[email protected]:~$ su
Password:
[email protected]:/home/christopher# nano /etc/security/limits.conf
[email protected]:/home/christopher# exit
exit
[email protected]:~$ ulimit -u
20000
Seperti yang Anda lihat, batas 'christopher' diubah menjadi 20000.
Bagaimana Anda mengetahui kata kunci apa yang digunakan untuk mengedit file /etc/security/limits.conf? Berikut adalah tabel yang menyertakan kemungkinan kata kunci item dan deskripsinya:
Kata Kunci Item | Deskripsi |
---|---|
inti | membatasi ukuran file inti (KB) |
data | ukuran data maks (KB) |
ukuran | ukuran file maksimum (KB) |
memlock | ruang alamat (KB) terkunci dalam memori maksimum |
nofile | jumlah maksimum deskriptor file yang terbuka |
rss | ukuran set penduduk maks (KB) |
tumpukan | ukuran tumpukan maksimum (KB) |
cpu | waktu CPU maks (MIN) |
nproc | jumlah maksimum proses |
sebagai | batas ruang alamat (KB) |
makslogin | jumlah login maksimum untuk pengguna ini |
maxsyslogin | jumlah maksimum login pada sistem |
prioritas | prioritas untuk menjalankan proses pengguna dengan |
mengunci | jumlah maksimum kunci file yang dapat dipegang pengguna |
menandatangani | jumlah maksimum sinyal tertunda |
msgqueue | – memori maksimal yang digunakan oleh antrian pesan POSIX (byte) |
bagus | prioritas bagus maksimal yang diizinkan untuk dinaikkan ke nilai:[-20, 19] |
rtprio | prioritas waktu nyata maksimum |
chroot | ubah root ke direktori (khusus Debian) |
Jenis Batas | Deskripsi |
---|---|
keras | batas keras |
lembut | batas lunak |
– | batas keras dan lunak |
Ubah ulimit untuk grup
Mengubah kebijakan grup sangat mirip dengan apa yang Anda lihat di bagian sebelumnya tetapi Anda akan menyertakan @
simbol sebelum nama grup.
Berikut adalah contoh di mana saya mengatur jumlah login maksimum untuk siswa grup adalah 4 dengan mengedit file /etc/security/limits.conf:
@student - maxlogins 4
Kesimpulan
Saya harap Anda menyukai primer cepat ini pada perintah ulimit Linux.
Jika Anda memiliki komentar atau pertanyaan, tinggalkan di bawah. Jika Anda memiliki saran untuk topik yang ingin dibahas, silakan tinggalkan juga.