Limitahi ang Paggamit sa CPU sa usa ka Proseso sa Linux gamit ang CPULimit Tool


Sa una nga post, gipatin-aw namon ang CPUTool alang sa paglimit ug pagkontrol sa paggamit sa CPU sa bisan unsang proseso sa Linux. Gitugotan niini ang usa ka tagdumala sa sistema nga makabalda sa pagpatuman sa usa ka proseso (o grupo sa proseso) kung ang pagkarga sa CPU/sistema molapas sa gitakda nga sukaranan. Dinhi, mahibal-an naton kung giunsa ang paggamit sa parehas nga himan nga gitawag cpulimit.

Ang Cpulimit gigamit aron higpitan ang paggamit sa CPU sa usa ka proseso sa parehas nga paagi sa CPUTool, bisan pa, nagtanyag kini daghang mga kapilian sa paggamit kumpara sa katugbang niini. Usa ka hinungdanon nga kalainan mao nga ang cpulimit wala magdumala sa pagkarga sa sistema dili sama sa cputool.

I-install ang CPULimit aron Limitahan ang Paggamit sa CPU Sa usa ka Proseso sa Linux

Ang CPULimit magamit aron ma-install gikan sa default nga mga repositoryo sa software sa Debian/Ubuntu ug ang mga gigikanan niini gamit ang usa ka himan sa pagdumala sa pakete.

$ sudo apt install cpulimit

Sa RHEL/CentOS ug Fedora, kinahanglan nimo nga unahon ang EPEL repository ug dayon i-install ang cpulimit sama sa gipakita.

# yum i-install ang epel-release
# yum i-install ang cpulimit

Sa kini nga sub nga seksyon, among ipasabut kung giunsa ang cpulimit molihok. Una, magpadagan kita og usa ka command (parehas nga dd command nga atong gitan-aw samtang nagtabon sa cputool) nga kinahanglan nga moresulta sa usa ka taas nga porsyento sa CPU, sa background (timan-i nga ang proseso nga PID giimprinta human sa pagpadagan sa command).

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

[1] 17918

Sunod, mahimo natong gamiton ang mga himan sa pagtan-aw nga nagpagawas sa aktwal nga kanunay nga gi-update nga kahimtang sa usa ka nagdagan nga sistema sa Linux, aron tan-awon ang paggamit sa CPU sa sugo sa ibabaw.

$ top

Sa pagtan-aw sa output sa ibabaw, atong makita nga ang dd nga proseso naggamit sa pinakataas nga porsyento sa oras sa CPU nga 100.0%.

Apan mahimo natong limitahan kini gamit ang cputlimit sama sa mosunod. Ang --pid o -p nga opsyon gigamit sa pagtino sa PID ug --limit o -l kay gigamit sa pagtakda sa usa ka porsyento sa paggamit alang sa usa ka proseso.

Ang sugo sa ubos maglimite sa dd command (PID 17918) ngadto sa 50% nga paggamit sa usa ka CPU core.

$ sudo cpulimit --pid 17918 --limit 50  

Process 17918 detected

Sa higayon nga kita modagan sa cpulimit, atong makita ang kasamtangan nga paggamit sa CPU alang sa dd nga sugo uban sa mga pagtan-aw. Gikan sa output, ang kantidad gikan sa (51.5% -55.0% o gamay sa unahan).

Mahimo natong i-throttle ang paggamit sa CPU niini sa ikaduha nga higayon sama sa mosunod, niining higayona ipaubos pa ang porsyento sama sa mosunod:

$ sudo cpulimit --pid 17918 --limit 20 

Process 17918 detected

Sama sa among gibuhat kaniadto, mahimo kaming modagan sa taas o pagtan-aw aron makita ang bag-ong paggamit sa CPU alang sa proseso, nga gikan sa 20% -25.0% o labi pa niini.

$ top

Mubo nga sulat: Ang kabhang nahimong un-interactive - wala magdahom sa bisan unsa nga user input sa diha nga cpulimit nagdagan. Aron mapatay kini (nga mohunong sa operasyon sa limitasyon sa paggamit sa CPU), pindota ang [Ctrl + C].

Sa pagpadagan sa cpulimit isip proseso sa background, gamita ang --background o -b switch, nga magpagawas sa terminal.

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

Aron matino ang gidaghanon sa mga CPU core nga anaa sa sistema, gamita ang --cpu o -c nga bandera (kasagaran kini nga awtomatik nga makita).

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

Imbis nga limitahan ang paggamit sa CPU sa usa ka proseso, mahimo natong patyon kini gamit ang opsyon nga --kill o -k. Ang default mao ang signal nga gipadala sa proseso mao ang SIGCONT, pero para magpadala ug lain nga signal, gamita ang --signal o -s nga bandera.

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

Aron makagawas kung walay angay nga target nga proseso, o kung kini mamatay, iapil ang -z o --lazy nga sama niini.

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

Para sa dugang nga impormasyon ug mga opsyon sa paggamit, tan-awa ang cpulimit man page.

$ man cpulimit

Susiha ang mosunod nga mapuslanong mga giya alang sa pagpangita sa impormasyon sa CPU ug pagmonitor sa performance sa CPU/system.

  1. Pangitaa ang Nanguna nga Mga Proseso sa Pagdagan pinaagi sa Labing Taas nga Memorya ug Paggamit sa CPU sa Linux
  2. Cpustat – Nagmonitor sa Paggamit sa CPU pinaagi sa Pagdagan sa mga Proseso sa Linux
  3. CoreFreq – Usa ka Gamhanan nga Himan sa Pag-monitor sa CPU alang sa Linux Systems
  4. Pangitaa ang Nanguna nga Mga Proseso sa Pagdagan pinaagi sa Labing Taas nga Memorya ug Paggamit sa CPU sa Linux
  5. 20 Command Line Tools sa Pagmonitor sa Linux Performance
  6. 13 Linux Performance Monitoring Tools – Bahin 2

Sa pagtandi, pagkahuman sa pagsulay sa CPUTool ug CPULimit, among namatikdan nga ang nahauna nagtanyag usa ka labi ka epektibo ug kasaligan nga pagpaandar nga \pagproseso sa limitasyon sa paggamit sa CPU.

Kini sumala sa porsyento nga han-ay sa paggamit sa CPU nga naobserbahan human sa pagpadagan sa duha ka mga himan batok sa usa ka gihatag nga proseso. Sulayi ang duha ka himan ug idugang ang imong mga hunahuna niini nga artikulo gamit ang feedback nga porma sa ubos.