Ṣe idinwo Lilo Sipiyu ti Ilana kan ni Linux pẹlu Ọpa CPULimit


Ninu ifiweranṣẹ ti tẹlẹ, a ti ṣalaye CPUTool fun idinwo ati iṣakoso iṣamulo Sipiyu ti eyikeyi ilana ni Lainos. O gba alakoso eto laaye lati da gbigbi ipaniyan ti ilana kan (tabi ẹgbẹ ilana) ti Sipiyu/fifuye eto ba kọja ẹnu-ọna asọye kan. Nibi, a yoo kọ bi a ṣe le lo iru irinṣẹ ti a pe ni cpulimit.

A lo Cpulimit lati ni ihamọ lilo Sipiyu ti ilana kan ni ọna kanna bi CPUTool, sibẹsibẹ, o nfun awọn aṣayan lilo diẹ sii ti a fiwe si ẹlẹgbẹ rẹ. Iyatọ pataki kan ni pe cpulimit ko ṣakoso fifuye eto laisi cputool.

Fi CPULimit sii lati Diwọn lilo Lilo Sipiyu Ninu Ilana kan ni Lainos

CPULimit wa lati fi sori ẹrọ lati awọn ibi ipamọ software aiyipada ti Debian/Ubuntu ati awọn itọsẹ rẹ nipa lilo irinṣẹ iṣakoso package.

$ sudo apt install cpulimit

Ninu RHEL/CentOS ati Fedora, o nilo lati mu ibi ipamọ EPEL ṣiṣẹ akọkọ ati lẹhinna fi cpulimit sii bi o ti han.

# yum fi sori ẹrọ epel-release
# yum fi sori ẹrọ cpulimit

Ninu apakan iha yii, a yoo ṣe alaye bi cpulimit ṣe n ṣiṣẹ. Ni akọkọ, jẹ ki a ṣiṣẹ aṣẹ kan (aṣẹ dd kanna ti a wo lakoko ti o n bo cputool) eyiti o yẹ ki o ja si ipin Sipiyu giga, ni abẹlẹ (akiyesi pe ilana PID ti tẹ jade lẹhin ṣiṣe pipaṣẹ).

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

[1] 17918

Nigbamii ti, a le lo awọn irinṣẹ iwoye eyiti o ṣe agbejade ipo imudojuiwọn nigbagbogbo ti eto Lainos ti nṣiṣẹ, lati wo lilo Sipiyu ti aṣẹ loke.

$ top

Nwa ni iṣelọpọ loke, a le rii pe ilana dd n lo ipin to ga julọ ti akoko Sipiyu 100.0%.

Ṣugbọn a le ṣe idinwo eyi nipa lilo cputlimit bi atẹle. Aṣayan --pid tabi -p ni a lo lati ṣafihan PID ati --limit tabi -l jẹ lo lati ṣeto ipin lilo fun ilana kan.

Aṣẹ ti o wa ni isalẹ yoo ṣe idinwo aṣẹ dd (PID 17918) si 50% lilo ti mojuto Sipiyu kan.

$ sudo cpulimit --pid 17918 --limit 50  

Process 17918 detected

Ni kete ti a ba ṣiṣẹ cpulimit, a le wo lilo Sipiyu lọwọlọwọ fun aṣẹ dd pẹlu awọn oju. Lati iṣẹjade, awọn sakani iye lati (51.5% -55.0% tabi diẹ ni ikọja).

A le finasi lilo Sipiyu rẹ fun akoko keji bi atẹle, ni akoko yii dinku ipin ogorun siwaju bi atẹle:

$ sudo cpulimit --pid 17918 --limit 20 

Process 17918 detected

Gẹgẹ bi a ti ṣe tẹlẹ, a le ṣiṣe oke tabi awọn oju lati wo lilo Sipiyu tuntun fun ilana naa, eyiti yoo wa lati 20% -25.0% tabi diẹ kọja eyi.

$ top

Akiyesi: Ikarahun di ibaraenisọrọ-ko nireti eyikeyi titẹsi olumulo nigbati cpulimit n ṣiṣẹ. Lati pa a (eyiti o yẹ ki o da iṣẹ aropin lilo Sipiyu duro), tẹ [Ctrl + C] .

Lati ṣiṣẹ cpulimit bi ilana abẹlẹ, lo - ipilẹṣẹ tabi -b yipada, ni ominira ibudo naa.

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

Lati ṣalaye nọmba ti awọn ohun kohun Sipiyu ti o wa lori eto naa, lo asia --cpu tabi -c asia (eyi ti wa ni deede ti a rii laifọwọyi).

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

Dipo ki o fi opin si lilo ilana Sipiyu ti ilana kan, a le pa pẹlu aṣayan --kill tabi -k aṣayan. Aiyipada jẹ ifihan agbara ti a firanṣẹ si ilana jẹ SIGCONT, ṣugbọn lati fi ami ifihan miiran ranṣẹ, lo asia - ifihan tabi -s

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

Lati jade ti ko ba si ilana afojusun ti o baamu, tabi bi o ba ku, ni -z tabi -lazy bii eleyi.

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

Fun alaye ni afikun ati awọn aṣayan lilo, wo oju-iwe eniyan cpulimit.

$ man cpulimit

Ma ṣayẹwo awọn itọsọna ti o wulo wọnyi fun wiwa alaye Sipiyu ati Sipiyu/ibojuwo iṣẹ ṣiṣe eto.

  1. Wa Awọn ilana Ṣiṣẹ Top nipasẹ Iranti giga julọ ati Lilo Sipiyu ni Lainos
  2. Cpustat - Diigi Lilo Sipiyu nipasẹ Ṣiṣe Awọn ilana ni Linux
  3. CoreFreq - Ẹrọ Alabojuto Sipiyu Alagbara fun Awọn Ẹrọ Linux
  4. Wa Awọn ilana Ṣiṣẹ Top nipasẹ Iranti giga julọ ati Lilo Sipiyu ni Lainos
  5. 20 Awọn irinṣẹ laini pipaṣẹ lati ṣetọju Iṣe Linux
  6. 13 Awọn irinṣẹ Abojuto Iṣe Linux - Apá 2

Ni ifiwera, lẹhin idanwo CPUTool ati CPULimit, a ṣe akiyesi pe iṣaaju nfunni ni ilọsiwaju diẹ sii ati igbẹkẹle\"ilana idiwọn lilo lilo Sipiyu".

Eyi wa ni ibamu si ibiti ipin ogorun ti lilo Sipiyu ti a ṣe akiyesi lẹhin ṣiṣe awọn irinṣẹ mejeeji lodi si ilana ti a fun. Gbiyanju awọn irinṣẹ mejeeji ki o ṣafikun awọn ero rẹ si nkan yii ni lilo fọọmu esi ni isalẹ.