Batasi Penggunaan CPU suatu Proses di Linux dengan Alat CPULimit


Di postingan sebelumnya, kami telah menjelaskan CPUTool untuk membatasi dan mengontrol penggunaan CPU dari proses apa pun di Linux. Hal ini memungkinkan administrator sistem untuk menghentikan eksekusi suatu proses (atau grup proses) jika beban CPU/sistem melampaui ambang batas yang ditentukan. Di sini, kita akan mempelajari cara menggunakan alat serupa yang disebut cpulimit.

Cpulimit digunakan untuk membatasi penggunaan CPU suatu proses dengan cara yang sama seperti CPUTool, namun, ia menawarkan lebih banyak opsi penggunaan dibandingkan dengan mitranya. Satu perbedaan penting adalah cpulimit tidak mengatur beban sistem seperti cputool.

Saran Baca: 9 Perintah Berguna untuk Mendapatkan Informasi CPU di Linux

Instal CPULimit untuk Membatasi Penggunaan CPU 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 RHEL/CentOS dan Fedora, Anda harus mengaktifkan repositori EPEL terlebih dahulu lalu menginstal cpulimit seperti yang ditunjukkan.

# yum install epel-release
# yum install cpulimit

Membatasi Penggunaan CPU Proses Dengan CUPLimit

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

dd if=/dev/zero of=/dev/null &

[1] 17918

Selanjutnya, kita dapat menggunakan alat top atau sekilas yang menampilkan status aktual yang sering diperbarui dari sistem Linux yang sedang berjalan, untuk melihat penggunaan CPU dari perintah di atas.

top

Melihat keluaran di atas, kita dapat melihat bahwa proses dd menggunakan persentase waktu CPU tertinggi 100,0%.

Namun kita bisa membatasinya menggunakan cputlimit sebagai berikut. Opsi --pid atau -p digunakan untuk menentukan PID dan --limit atau -l adalah digunakan untuk mengatur persentase penggunaan suatu proses.

Perintah di bawah ini akan membatasi perintah dd (PID 17918) hingga 50% penggunaan satu inti CPU.

sudo cpulimit --pid 17918 --limit 50  

Process 17918 detected

Setelah kita menjalankan cpulimit, kita dapat melihat penggunaan CPU saat ini untuk perintah dd dengan top atau sekilas. Dari outputnya, nilainya berkisar antara (51.5%-55.0% atau sedikit lebih dari itu).

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

sudo cpulimit --pid 17918 --limit 20 

Process 17918 detected

Seperti yang telah kita lakukan sebelumnya, kita dapat menjalankan top atau sekilas untuk melihat penggunaan CPU baru untuk proses tersebut, yang akan berkisar antara 20%-25.0% atau sedikit lebih dari itu.

top

Catatan: Shell menjadi tidak interaktif – tidak mengharapkan masukan pengguna apa pun saat cpulimit berjalan. Untuk mematikannya (yang seharusnya menghentikan operasi pembatasan penggunaan CPU), tekan [Ctrl + C].

Untuk menjalankan cpulimit sebagai proses latar belakang, gunakan saklar --background atau -b, sehingga membebaskan terminal.

sudo cpulimit --pid 17918 --limit 20 --background

Untuk menentukan jumlah inti CPU yang ada pada sistem, gunakan flag --cpu atau -c (biasanya terdeteksi secara otomatis).

sudo cpulimit --pid 17918 --limit 20 --cpu 4

Daripada membatasi penggunaan CPU suatu proses, kita dapat mematikannya dengan opsi --kill atau -k. Sinyal default yang dikirim ke proses adalah SIGCONT, namun untuk mengirim sinyal yang berbeda, gunakan flag --signal atau -s.

sudo cpulimit --pid 17918 --limit 20 --kill 

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

sudo cpulimit --pid 17918 --limit 20 --kill --lazy

Untuk informasi tambahan dan opsi penggunaan, lihat halaman manual cpulimit.

man cpulimit

Periksa panduan berguna berikut untuk menemukan info CPU dan pemantauan kinerja CPU/sistem.

  1. Temukan Proses yang Berjalan Teratas berdasarkan 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 yang Berjalan Teratas berdasarkan 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 melihat bahwa CPUTool menawarkan fungsionalitas “pembatasan penggunaan CPU proses” yang lebih efektif dan andal.

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