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.
- Temukan Proses yang Berjalan Teratas berdasarkan Memori Tertinggi dan Penggunaan CPU di Linux
- Cpustat – Memantau Pemanfaatan CPU dengan Menjalankan Proses di Linux
- CoreFreq – Alat Pemantauan CPU yang Kuat untuk Sistem Linux
- Temukan Proses yang Berjalan Teratas berdasarkan Memori Tertinggi dan Penggunaan CPU di Linux
- 20 Alat Baris Perintah untuk Memantau Kinerja Linux
- 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.