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.
- Atrodiet vislabākos procesus pēc vislielākās atmiņas un procesora izmantošanas Linux sistēmā
- Cpustat - uzrauga CPU izmantošanu, darbinot procesus Linux
- CoreFreq - jaudīgs CPU uzraudzības rīks Linux sistēmām
- Atrodiet vislabākos procesus pēc vislielākās atmiņas un procesora izmantošanas Linux sistēmā
- 20 komandrindas rīki Linux veiktspējas uzraudzībai
- 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.