Hadkan penggunaan CPU proses di Linux dengan alat cpulimit
- 3821
- 468
- Don Will
Dalam jawatan terdahulu, kami telah menerangkan cputool untuk mengehadkan dan mengawal penggunaan CPU dari sebarang proses di Linux. Ia membolehkan pentadbir sistem mengganggu pelaksanaan proses (atau kumpulan proses) jika beban CPU/sistem melampaui ambang yang ditetapkan. Di sini, kita akan belajar cara menggunakan alat serupa yang dipanggil cpulimit.
Cpulimit digunakan untuk menyekat penggunaan CPU proses dengan cara yang sama seperti Cputool, Walau bagaimanapun, ia menawarkan lebih banyak pilihan penggunaan berbanding rakan sejawatannya. Satu perbezaan penting ialah cpulimit tidak menguruskan beban sistem tidak seperti cputool.
Cadangan Baca: 9 Perintah berguna untuk mendapatkan maklumat CPU di Linux
Pasang cpulimit untuk menghadkan penggunaan CPU proses di Linux
Cpulimit tersedia untuk dipasang dari repositori perisian lalai Debian/Ubuntu dan derivatifnya menggunakan alat pengurusan pakej.
$ sudo apt pasang cpulimit
Dalam RHEL/CENTOS dan Fedora, Anda perlu terlebih dahulu mengaktifkan repositori epel dan kemudian pasang cpulimit seperti yang ditunjukkan.
# yum memasang pelepasan epel
# yum pasang cpulimit
Mengehadkan penggunaan CPU Proses dengan Cuplimit
Di bahagian sub ini, kami akan menerangkan bagaimana CPULIMIT berfungsi. Pertama, mari kita jalankan (sama Perintah DD Kami melihat semasa menutupi cputool) yang harus menghasilkan peratusan CPU yang tinggi, di latar belakang (perhatikan bahawa proses PID dicetak selepas menjalankan arahan).
$ dd if =/dev/sifar =/dev/null & [1] 17918
Seterusnya, kita boleh menggunakan alat atas atau pandangan yang mengeluarkan keadaan yang sering dikemas kini dengan sistem linux yang sering dikemas kini, untuk menonton penggunaan CPU arahan di atas.
$ atasPantau penggunaan CPU di Linux
Melihat output di atas, kita dapat melihat bahawa DD Proses menggunakan peratusan tertinggi masa CPU 100.0%.
Tetapi kita boleh mengehadkan ini menggunakan cputlimit seperti berikut. The --pid
atau -p
pilihan digunakan untuk menentukan PID dan --had
atau -L
digunakan untuk menetapkan peratusan penggunaan untuk proses.
Perintah di bawah akan mengehadkan Perintah DD (PID 17918) hingga 50% penggunaan satu teras CPU.
$ sudo cpulimit --pid 17918 --MiT 50 Proses 17918 dikesan
Sebaik sahaja kita menjalankan cpulimit, kita dapat melihat penggunaan CPU semasa untuk Perintah DD dengan puncak atau pandangan. Dari output, nilai berkisar dari (51.5%-55.0% atau sedikit di luar).
Hadkan penggunaan proses CPU di LinuxKita boleh mendekati penggunaan CPU untuk kali kedua seperti berikut, kali ini menurunkan peratusan lagi seperti berikut:
$ sudo cpulimit --pid 17918 --MiT 20 Proses 17918 dikesan
Seperti yang kita lakukan sebelum ini, kita boleh menjalankan atas atau pandangan untuk melihat penggunaan CPU baru untuk proses itu, yang akan berkisar 20%-25.0% atau sedikit di luar ini.
$ atasPenggunaan CPU pendikit di Linux
Catatan: Shell menjadi tidak interaktif - tidak mengharapkan sebarang input pengguna ketika cpulimit sedang berjalan. Untuk membunuhnya (yang sepatutnya menghentikan operasi had penggunaan CPU), tekan [Ctrl + C]
.
Untuk menjalankan cpulimit sebagai proses latar belakang, gunakan --latar belakang
atau -b
beralih, membebaskan terminal.
$ sudo cpulimit --pid 17918 - -Limit 20 -Background
Untuk menentukan bilangan teras CPU yang terdapat pada sistem, gunakan --CPU
atau -c
bendera (ini biasanya dikesan secara automatik).
$ sudo cpulimit --pid 17918 - -Limit 20 --cpu 4
Daripada mengehadkan penggunaan CPU proses, kita boleh membunuhnya dengan --bunuh
atau -k
pilihan. Lalai adalah isyarat yang dihantar ke proses adalah Sigcont, Tetapi untuk menghantar isyarat yang berbeza, gunakan --isyarat
atau -s
bendera.
$ sudo cpulimit --pid 17918 - -Limit 20 --Kill
Untuk keluar jika tidak ada proses sasaran yang sesuai, atau sekiranya ia mati, sertakan -z
atau --malas
seperti ini.
$ sudo cpulimit --pid 17918 - -Limit 20 --Kill -Lazy
Untuk pilihan maklumat dan penggunaan tambahan, lihat halaman Cpulimit Man.
$ man cpulimit
Semak panduan berguna berikut untuk mencari maklumat CPU dan pemantauan prestasi CPU/sistem.
- Cari proses berjalan atas dengan memori tertinggi dan penggunaan CPU di Linux
- CPUSTAT - Memantau penggunaan CPU dengan menjalankan proses di Linux
- COREFREQ - Alat pemantauan CPU yang kuat untuk sistem Linux
- Cari proses berjalan atas dengan memori tertinggi dan penggunaan CPU di Linux
- 20 Alat baris arahan untuk memantau prestasi linux
- 13 Alat Pemantauan Prestasi Linux - Bahagian 2
Sebagai perbandingan, selepas menguji cputool dan Cpulimit, Kami perhatikan bahawa bekas menawarkan fungsi "had penggunaan CPU" yang lebih berkesan dan boleh dipercayai.
Ini mengikut peratusan julat penggunaan CPU yang diperhatikan selepas menjalankan kedua -dua alat terhadap proses tertentu. Cuba kedua -dua alat dan tambahkan pemikiran anda ke artikel ini menggunakan borang maklum balas di bawah.