Ierobežot CPU izmantošanu procesam Linux ar CPULimit rīku


Iepriekšējā ziņojumā mēs esam izskaidrojuši CPUTool, lai ierobežotu un kontrolētu jebkura procesa procesora izmantošanu Linux. Tas ļauj sistēmas administratoram pārtraukt procesa (vai procesu grupas) izpildi, ja centrālā procesora/sistēmas slodze pārsniedz noteikto slieksni. Šeit mēs uzzināsim, kā izmantot līdzīgu rīku, ko sauc par cpulimit.

Cpulimit tiek izmantots, lai ierobežotu procesa CPU izmantošanu tāpat kā CPUTool, tomēr tas piedāvā vairāk izmantošanas iespēju salīdzinājumā ar tā kolēģi. Viena būtiska atšķirība ir tā, ka cpulimit nepārvalda sistēmas slodzi atšķirībā no cputool.

Instalējiet CPULimit, lai ierobežotu procesora lietošanu Linux

CPULimit ir pieejams instalēšanai no noklusējuma programmatūras Debian/Ubuntu un tā atvasinājumu krātuvēm, izmantojot pakešu pārvaldības rīku.

$ sudo apt install cpulimit

RHEL/CentOS un Fedora vispirms jāiespējo EPEL krātuve un pēc tam jāinstalē cpulimit, kā parādīts.

# yum instalēt epel-release
# yum instalēt cpulimit

Šajā apakšsadaļā mēs paskaidrosim, kā darbojas cpulimit. Pirmkārt, palaidīsim komandu (tā pati dd komanda, kuru mēs apskatījām, pārklājot cputool), kuras rezultātam vajadzētu būt lielam CPU procentam fonā (ņemiet vērā, ka procesa PID tiek izdrukāts pēc komandas palaišanas).

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

[1] 17918

Pēc tam mēs varam izmantot skatienu rīkus, kas izvada faktisko bieži atjaunināto darbojošās Linux sistēmas stāvokli, lai skatītos iepriekš minētās komandas CPU izmantošanu.

$ top

Aplūkojot iepriekš minēto izvadi, mēs varam redzēt, ka dd procesā tiek izmantots vislielākais CPU laika procents 100,0%.

Bet mēs varam to ierobežot, izmantojot cputlimit šādi. Opcija --pid vai -p tiek izmantota, lai norādītu PID un --limit vai -l ir izmanto, lai iestatītu procesa izmantošanas procentuālo daudzumu.

Tālāk sniegtā komanda ierobežos komandu dd (PID 17918) līdz 50% viena CPU kodola izmantošanas.

$ sudo cpulimit --pid 17918 --limit 50  

Process 17918 detected

Kad esam palaiduši cpulimit, mēs ar skatieniem varam apskatīt pašreizējo komandas CP procesora lietojumu. No izejas vērtība svārstās no (51,5% -55,0% vai nedaudz tālāk).

Mēs varam otrreiz ierobežot tā procesora lietojumu šādi, šoreiz samazinot procentuālo daudzumu šādi:

$ sudo cpulimit --pid 17918 --limit 20 

Process 17918 detected

Kā mēs to darījām iepriekš, mēs varam palaist uz augšu vai skatienus, lai apskatītu jauno procesora lietojumu procesam, kas svārstīsies no 20% līdz 25,0% vai nedaudz pārsniedz to.

$ top

Piezīme. Apvalks vairs nav interaktīvs - kad darbojas cpulimit, netiek gaidīts lietotāja ievads. Lai to nogalinātu (kam būtu jāpārtrauc CPU lietošanas ierobežošanas darbība), nospiediet [Ctrl + C] .

Lai palaistu cpulimit kā fona procesu, izmantojiet slēdzi --background vai -b , atbrīvojot termināli.

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

Lai norādītu sistēmā esošo CPU kodolu skaitu, izmantojiet karodziņu --cpu vai -c (tas parasti tiek noteikts automātiski).

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

Tā vietā, lai ierobežotu procesa CPU lietošanu, mēs varam to nogalināt, izmantojot opciju --kill vai -k . Pēc noklusējuma signāls, kas tiek nosūtīts procesam, ir SIGCONT, taču, lai nosūtītu citu signālu, izmantojiet karodziņu --signal vai -s .

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

Lai izietu, ja nav piemērota mērķa procesa vai ja tas nomirst, iekļaujiet šādus -z vai --lazy .

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

Lai iegūtu papildinformāciju un lietošanas iespējas, skatiet cpulimit rokasgrāmatu.

$ man cpulimit

Pārbaudiet šīs noderīgās rokasgrāmatas, lai atrastu CPU informāciju un CPU/sistēmas veiktspējas uzraudzību.

  1. Atrodiet vislabākos procesus pēc vislielākās atmiņas un procesora izmantošanas Linux sistēmā
  2. Cpustat - uzrauga CPU izmantošanu, darbinot procesus Linux
  3. CoreFreq - jaudīgs CPU uzraudzības rīks Linux sistēmām
  4. Atrodiet vislabākos procesus pēc vislielākās atmiņas un procesora izmantošanas Linux sistēmā
  5. 20 komandrindas rīki Linux veiktspējas uzraudzībai
  6. 13 Linux veiktspējas uzraudzības rīki - 2. daļa

Salīdzinājumam, pēc CPUTool un CPULimit testēšanas mēs pamanījām, ka pirmais piedāvā efektīvāku un uzticamāku “procesa CPU lietojuma ierobežojuma” funkcionalitāti.

Tas ir atbilstoši procentuālajam CPU izmantošanas diapazonam, kas novērots pēc abu rīku palaišanas pret noteiktu procesu. Izmēģiniet abus rīkus un pievienojiet savas domas šim rakstam, izmantojot tālāk sniegto atsauksmju veidlapu.