GNU/Linux >> Belajar Linux >  >> Linux

Kontrol Penggunaan Sumber Daya Sistem Dengan Perintah Ulimit

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.


Linux
  1. Perintah yang digabungkan dengan operator kontrol di Bash

  2. Perintah Shutdown Linux (dengan Contoh)

  3. Cara Mengontrol Penggunaan Sumber Daya Sistem dengan ulimit di Linux

  1. Cara Memantau Sistem Linux dengan Perintah Sekilas

  2. Cara Memantau Penggunaan Jaringan dengan nload di Linux

  3. Konversi Symlink Absolut Ke Symlink Relatif Dengan Perintah Linux Sederhana?

  1. Perintah Tanggal di Linux dengan Contoh Penggunaan

  2. Perintah IP Linux dengan Contoh Penggunaan

  3. Perintah Uptime Linux dengan Contoh