Limitéiert CPU Notzung vun engem Prozess am Linux mam CPULimit Tool


An engem fréiere Post hu mir CPUTool erkläert fir d'CPU Notzung vun all Prozess am Linux ze limitéieren an ze kontrolléieren. Et erlaabt e Systemadministrator d'Ausféierung vun engem Prozess (oder Prozessgrupp) z'ënnerbriechen wann d'CPU/Systembelaaschtung iwwer eng definéiert Schwell geet. Hei léiere mir wéi een en ähnlecht Tool mam Numm cpulimit benotzt.

Cpulimit gëtt benotzt fir d'CPU Benotzung vun engem Prozess op déiselwecht Manéier wéi CPUTool ze beschränken, awer et bitt méi Benotzungsoptiounen am Verglach zu sengem Kolleg. Ee wichtegen Ënnerscheed ass datt cpulimit net Systembelaaschtung am Géigesaz zu cputool geréiert.

Installéiert CPULimit fir d'CPU Notzung vun engem Prozess am Linux ze limitéieren

CPULimit ass verfügbar fir aus Standard Software Repositories vun Debian/Ubuntu a seng Derivate z'installéieren mat engem Package Management Tool.

$ sudo apt install cpulimit

An RHEL/CentOS a Fedora musst Dir als éischt EPEL Repository aktivéieren an dann cpulimit installéieren wéi gewisen.

# yum installéieren Epel-Release
# yum installéieren cpulimit

An dëser Ënnersektioun erkläre mir wéi cpulimit funktionnéiert. Als éischt, loosst eis e Kommando ausféieren (selwescht dd Kommando, dee mir gekuckt hunn wärend de cputool ofdeckt) wat zu engem héije CPU Prozentsaz resultéiere soll, am Hannergrond (Notiz datt de Prozess PID ausgedréckt gëtt nodeems de Kommando ausgefouert gouf).

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

[1] 17918

Als nächst kënne mir d'Bléck Tools benotzen déi den aktuellen dacks aktualiséierten Zoustand vun engem lafende Linux System ausginn, fir d'CPU Benotzung vum Kommando uewen ze kucken.

$ top

Wann Dir d'Ausgab hei uewen kuckt, kënne mir gesinn datt den dd Prozess den héchste Prozentsaz vun der CPU Zäit 100.0% benotzt.

Awer mir kënnen dëst mat cputlimit limitéieren wéi follegt. D'Optioun --pid oder -p gëtt benotzt fir de PID ze spezifizéieren an --limit oder -l ass benotzt fir e Benotzungs Prozentsaz fir e Prozess ze setzen.

De Kommando hei drënner limitéiert den dd Kommando (PID 17918) op 50% Notzung vun engem CPU Kär.

$ sudo cpulimit --pid 17918 --limit 50  

Process 17918 detected

Wann mir cpulimit lafen, kënne mir déi aktuell CPU Benotzung fir den dd Kommando mat Bléck kucken. Vun der Ausgab läit de Wäert vun (51,5% -55,0% oder liicht doriwwer eraus).

Mir kënnen seng CPU Notzung fir eng zweete Kéier wéi follegt drosselen, dës Kéier senken de Prozentsaz weider wéi follegt:

$ sudo cpulimit --pid 17918 --limit 20 

Process 17918 detected

Wéi mir virdru gemaach hunn, kënne mir Top oder Bléck lafen fir déi nei CPU Notzung fir de Prozess ze gesinn, dee vun 20% -25,0% oder liicht doriwwer eraus wäert.

$ top

Notiz: D'Schuel gëtt oninteraktiv - erwaart kee Benotzerinput wann cpulimit leeft. Fir et ëmzebréngen (wat d'CPU Benotzungsbegrenzungsoperatioun sollt stoppen), dréckt [Ctrl + C].

Fir cpulimit als Hannergrondprozess auszeféieren, benotzt den --background oder -b Schalter, deen den Terminal befreit.

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

Fir d'Zuel vun den CPU-Kären, déi um System präsent sinn, ze spezifizéieren, benotzt de --cpu oder -c Fändel (dëst gëtt normalerweis automatesch festgestallt).

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

Anstatt d'CPU-Notzung vun engem Prozess ze limitéieren, kënne mir et mat der --kill oder -k Optioun ëmbréngen. D'Standard ass Signal un de Prozess geschéckt ass SIGCONT, awer fir en anert Signal ze schécken, benotzt de --Signal oder -s Fändel.

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

Fir erauszegoen, wann et kee passenden Zilprozess gëtt, oder am Fall wou et stierft, enthält -z oder --lazy esou.

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

Fir zousätzlech Informatioun a Benotzungsoptiounen, kuckt d'cpulimit Man Säit.

$ man cpulimit

Préift déi folgend nëtzlech Guiden fir CPU-Info an CPU/System Performance Iwwerwaachung ze fannen.

  1. Fannt Top Lafen Prozesser duerch héchst Gedächtnis an CPU Benotzung am Linux
  2. Cpustat - Iwwerwaacht d'CPU Utilisatioun andeems Dir Prozesser am Linux leeft
  3. CoreFreq - E mächtege CPU Iwwerwachungstool fir Linux Systemer
  4. Fannt Top Lafen Prozesser duerch héchst Gedächtnis an CPU Benotzung am Linux
  5. 20 Command Line Tools fir d'Linux Performance ze iwwerwaachen
  6. 13 Linux Performance Monitoring Tools - Deel 2

Am Verglach, nodeems ech CPUTool an CPULimit getest hunn, hu mir gemierkt datt déi fréier eng méi effektiv an zouverlässeg Prozess CPU Benotzungsbegrenzung Funktionalitéit bitt.

Dëst ass laut dem Prozentsaz vun der CPU Benotzung observéiert nodeems se béid Tools géint e bestëmmte Prozess lafen. Probéiert béid Tools a füügt Är Gedanken zu dësem Artikel mat de Feedbackformular hei drënner.