Batasi penggunaan CPU suatu proses di Linux dengan alat cpulimit

Batasi penggunaan CPU suatu proses di Linux dengan alat cpulimit

Dalam posting sebelumnya, kami telah menjelaskan cputool untuk membatasi dan mengendalikan pemanfaatan CPU dari proses apa pun di Linux. Ini memungkinkan administrator sistem untuk mengganggu pelaksanaan suatu proses (atau kelompok proses) jika beban CPU/sistem melampaui ambang batas yang ditentukan. Di sini, kita akan belajar cara menggunakan alat serupa yang disebut cpulimit.

Cpulimit digunakan untuk membatasi penggunaan CPU dari suatu proses dengan cara yang sama seperti Cputool, Namun, ia menawarkan lebih banyak opsi penggunaan dibandingkan dengan mitranya. Satu perbedaan penting adalah bahwa cpulimit tidak mengelola beban sistem tidak seperti cputool.

Disarankan Baca: 9 Perintah yang berguna untuk mendapatkan informasi CPU di Linux

Instal cpulimit untuk membatasi penggunaan CPU dari suatu proses di Linux

Cpulimit tersedia untuk diinstal dari repositori perangkat lunak default Debian/Ubuntu dan turunannya menggunakan alat manajemen paket.

$ sudo apt install cpulimit 

Di dalam Rhel/centos Dan Fedora, Anda harus terlebih dahulu mengaktifkan repositori EPEL dan kemudian menginstal cpulimit seperti yang ditunjukkan.

# YUM Instal Epel-Release
# yum instal cpulimit

Proses Pembatas Penggunaan CPU dengan Cuplimit

Di bagian sub ini, kami akan menjelaskan cara kerja cpulimit. Pertama, mari kita jalankan perintah (sama Perintah DD Kami melihat saat menutupi cputool) yang seharusnya menghasilkan persentase CPU yang tinggi, di latar belakang (perhatikan bahwa proses PID dicetak setelah menjalankan perintah).

$ dd if =/dev/nol dari =/dev/null & [1] 17918 

Selanjutnya, kita dapat menggunakan alat atas atau melirik yang mengeluarkan keadaan aktual yang sering diperbarui dari sistem Linux yang sedang berjalan, untuk menonton penggunaan CPU dari perintah di atas.

$ top 
Pantau Penggunaan CPU di Linux

Melihat output di atas, kita dapat melihat bahwa DD Proses memanfaatkan persentase tertinggi dari waktu CPU 100.0%.

Tapi kami dapat membatasi ini menggunakan cputLimit sebagai berikut. Itu --pid atau -P Opsi digunakan untuk menentukan PID dan --membatasi atau -l digunakan untuk menetapkan persentase penggunaan untuk suatu proses.

Perintah di bawah ini akan membatasi Perintah DD (PID 17918) ke 50% Penggunaan satu inti CPU.

$ sudo cpulimit -PID 17918 --Imit 50 Proses 17918 terdeteksi 

Setelah kami menjalankan cpulimit, kami dapat melihat penggunaan CPU saat ini untuk Perintah DD dengan atas atau pandangan. Dari output, nilainya berkisar dari (51.5%-55.0% atau sedikit di luar).

Batasi penggunaan proses CPU di Linux

Kita dapat mencekik penggunaan CPU untuk kedua kalinya sebagai berikut, kali ini menurunkan persentase lebih lanjut sebagai berikut:

$ sudo cpulimit -PID 17918 --Imit 20 Proses 17918 terdeteksi 

Seperti yang kami lakukan sebelumnya, kami dapat menjalankan atas atau melirik untuk melihat penggunaan CPU baru untuk proses tersebut, yang akan berkisar dari 20%-25.0% atau sedikit di luar ini.

$ top 
Throttle CPU Penggunaan di Linux

Catatan: Shell menjadi tidak interaktif - tidak mengharapkan input pengguna saat cpulimit berjalan. Untuk membunuhnya (yang harus menghentikan operasi pembatasan penggunaan CPU), tekan [Ctrl + C].

Untuk menjalankan cpulimit sebagai proses latar belakang, gunakan --latar belakang atau -B beralih, membebaskan terminal.

$ sudo cpulimit -PID 17918 -terbatas 20 -Background 

Untuk menentukan jumlah inti CPU yang ada pada sistem, gunakan --CPU atau -C Bendera (ini biasanya terdeteksi secara otomatis).

$ sudo cpulimit -PID 17918 --Imit 20 -CPU 4 

Daripada membatasi penggunaan CPU proses, kita bisa membunuhnya dengan --membunuh atau -k pilihan. Defaultnya adalah sinyal yang dikirim ke proses Sigcont, Tetapi untuk mengirim sinyal yang berbeda, gunakan --sinyal atau -S bendera.

$ sudo cpulimit -PID 17918 --Imit 20 --Kill 

Untuk keluar jika tidak ada proses target yang cocok, atau jika mati, sertakan -z atau --malas seperti ini.

$ sudo cpulimit --pid 17918 -terbatas 20 --kill -lazy 

Untuk informasi tambahan dan opsi penggunaan, lihat halaman Cpulimit Man.

$ man cpulimit 

Lihatlah panduan bermanfaat berikut untuk menemukan info CPU dan pemantauan kinerja CPU/sistem.

  1. Temukan Proses Running Top dengan memori tertinggi dan penggunaan CPU di Linux
  2. CPUSTAT - Memantau pemanfaatan CPU dengan menjalankan proses di Linux
  3. Corefreq - Alat pemantauan CPU yang kuat untuk sistem Linux
  4. Temukan Proses Running Top dengan memori tertinggi dan penggunaan CPU di Linux
  5. 20 Alat baris perintah untuk memantau kinerja Linux
  6. 13 Alat Pemantauan Kinerja Linux - Bagian 2

Sebagai perbandingan, setelah menguji cputool dan Cpulimit, Kami memperhatikan bahwa yang pertama menawarkan fungsionalitas "proses penggunaan CPU" yang lebih efektif dan andal.

Ini sesuai dengan kisaran persentase penggunaan CPU yang diamati setelah menjalankan kedua alat terhadap proses yang diberikan. Cobalah kedua alat dan tambahkan pemikiran Anda ke artikel ini menggunakan formulir umpan balik di bawah ini.