Batasi penggunaan CPU suatu proses di Linux dengan alat cpulimit
- 4243
- 1153
- John Ratke
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.
$ topPantau 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 LinuxKita 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.
$ topThrottle 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.
- Temukan Proses Running Top dengan 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 Running Top dengan 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 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.