CPUTool - Limitahan ug Kontrola ang Paggamit sa CPU sa Bisan unsang Proseso sa Linux


Usa sa mga kritikal nga lugar sa ilawom sa mga himan sa pag-monitor sa pasundayag sa Linux aron mabantayan kung giunsa ang mga butang nga gibuklad sa usa ka sistema.

Ang ubay-ubay niini nga mga himan yanong nagpagawas sa sistema sa estado/estadistika samtang ang uban naghatag kanimo og paagi sa pagdumala sa performance sa sistema. Usa sa maong himan nga gitawag ug CPUTool.

Ang CPUTool usa ka yano apan gamhanan nga command-line tool para sa paglimit ug pagkontrolar sa paggamit sa CPU sa bisan unsang proseso ngadto sa gihatag nga limitasyon ug nagtugot sa pagkabalda sa proseso sa pagpatuman kung ang load sa sistema molapas sa gitakda nga threshold.

Aron malimitahan ang paggamit sa CPU, ang cputool nagpadala sa SIGSTOP ug SIGCONT signal sa mga proseso ug kini gitino sa load sa sistema. Nagsalig kini sa/proc pseudo-filesystem aron mabasa ang mga PID ug ang ilang mga lakang sa paggamit sa CPU.

Mahimo kining gamiton aron limitahan ang paggamit sa CPU o load sa sistema nga naimpluwensyahan sa usa ka proseso o grupo sa mga proseso ngadto sa gihatag nga limitasyon ug/o pagsuspenso sa mga proseso kung ang load sa sistema molapas sa usa ka threshold.

I-install ang CPUTool aron Limitahan ang Paggamit sa CPU ug Average nga Pag-load

Ang usa ka CPUTool magamit ra aron ma-install sa Debian/Ubuntu ug ang mga gigikanan niini gikan sa mga default nga repositoryo sa sistema gamit ang tool sa pagdumala sa package.

$ sudo apt install cputool

Karon tan-awon kung giunsa ang cputool tinuod nga nagtrabaho. Aron ipakita kini tanan, magpadagan kami usa ka dd nga mando nga kinahanglan magresulta sa usa ka taas nga porsyento sa CPU, sa background ug ipakita ang PID niini.

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

Aron mamonitor ang paggamit sa CPU mahimo namong gamiton ang mga himan sa pagtan-aw nga nagtugot kanamo sa pagtan-aw sa usa ka real-time nga regular nga gi-update nga kahimtang sa usa ka nagdagan nga mga proseso sa sistema sa Linux:

# top

Gikan sa output sa ibabaw, atong makita nga ang dd command adunay pinakataas nga porsyento sa oras sa CPU 99.7%) Karon mahimo natong limitahan kini gamit ang cputool sama sa gipakita sa ubos.

Ang --cpu-limit o -c nga bandera gigamit sa pagtakda og porsyento sa paggamit alang sa usa ka proseso o grupo sa mga proseso ug -p aron itakda usa ka PID. Ang mosunod nga sugo maglimite sa dd command (PID 8275) ngadto sa 50% nga paggamit sa usa ka CPU core:

# cputool --cpu-limit 50 -p 8275 

Human sa pagpadagan sa cputool, mahimo natong susihon ang bag-ong paggamit sa CPU alang sa proseso (PID 8275) sa makausa pa. Karon ang paggamit sa CPU alang sa proseso sa dd kinahanglan gikan sa (49.0% -52.0%).

# top

Aron dugang nga limitahan ang paggamit sa CPU sa dd ngadto sa 20%, mahimo namong ipadagan ang cputool sa ikaduhang higayon:

# cputool --cpu-limit 20 -p 8275 

Dayon susiha dayon gamit ang mga himan sama sa mga pagtan-aw nga sama niini (ang paggamit sa CPU alang sa dd kinahanglan nga gikan sa 19.0% -22.0% o labaw pa niini):

# top

Timan-i nga ang kabhang wala magdahom sa bisan unsa nga user input samtang cputool nagdagan; busa nahimong dili mosanong. Aron mapatay kini (kini mohunong sa operasyon sa limitasyon sa paggamit sa CPU), pindota ang Ctrl + C.

Importante, aron ipiho ang usa ka grupo sa proseso (usa ka programa nga adunay daghang mga running instances matag usa nga adunay lahi nga PID) pananglitan HTTP web server:

# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Gamita ang -P nga bandera sama niini:

# cputool --cpu-limit 20 -P 1780

Ang -l nga opsyon gigamit sa pagtino sa pinakataas nga load nga mahimo sa sistema bisan pa para sa proseso o grupo sa proseso nga magpadayon sa pagdagan. Mahimo natong gamiton ang fractional value (e.g. 2.5).

Ang panig-ingnan sa ubos nagpasabut nga pagdagan ang rsync alang sa usa ka lokal nga backup lamang kung ang load sa sistema dili molapas sa 3.5:

# cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/

Para sa dugang nga impormasyon ug paggamit, tan-awa ang CPUTool man page:

# man cputool

Susiha ang mosunod nga mapuslanong mga giya alang sa pagpangita sa impormasyon sa CPU ug pag-monitor sa performance sa CPU:

  1. 9 Mapuslanon nga mga Sugo sa Pagkuha sa Impormasyon 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

Sa konklusyon, ang CPUTool magamit gyud alang sa pagdumala sa pasundayag sa Linux. Ipakigbahin ang imong mga hunahuna bahin sa kini nga artikulo pinaagi sa porma sa feedback sa ubos.