CPU

Kako omejiti uporabo procesorja v Linuxu

Kako omejiti uporabo procesorja v Linuxu
V svoji življenjski dobi Linuxa ste morali videti, da nekateri procesi zajemajo vse cikle procesorja (90-99% poraba CPU), zaradi česar se računalnik skoraj ne odziva, dokler se ne konča. To je lahko v redu, če postopek traja nekaj sekund. Kaj pa, če traja dolgo? To ni prav lepo sedeti in nekaj minut in ur gledati v svoj neodzivni računalnik, kajne? No, Linux ima veliko izjemnih orodij za njihovo izdelavo ni prav lepo procesov do lepo procesov.

Nastavite lahko, koliko CPU sme imeti en sam proces. Če postopek resnično potrebuje veliko procesorske moči, lahko zaženete nekaj ukazov, da dobite vse proste cikle procesorja (cikli CPU, ki jih ne potrebujete). Tako vam nikoli ne bo treba dolgo sedeti in buljiti v svoj neodziven računalnik.

V tem članku vam bom pokazal, kako omejiti uporabo procesorja v Linuxu. V tem članku bom uporabil CentOS 7. Toda vsaka sodobna distribucija Linuxa bi morala delovati. Torej, začnimo.

Omejevanje uporabe CPU z lepo in renice:

V Linuxu je mogoče spremeniti prednostne naloge vsakega izvajanega procesa. Procesu lahko nastavite višje prioritete, ki so za vas pomembnejše od procesa, ki brez dobrega razloga zadržuje vaš CPU.

Vsak proces v Linuxu ima lepo vrednost. Vrednost nice določa, kateri postopek ima višje prioritete in kateri manj. Lepa vrednost je lahko med -20 in 19. Proces z lepo vrednostjo -20 bo imel največjo prednost in bo uporabljal največ procesorskih ciklov. Proces z lepo vrednostjo 19 bo imel najnižjo prioriteto in bo uporabil CPU, kadar ga noben drug proces ne uporablja.

Obstajata dva načina za nastavitev lepe vrednosti procesa. Postopek lahko začnete z lepo ukaz za nastavitev lepe vrednosti med zagonom postopka. Lahko pa uporabite renice ukaz za nastavitev lepe vrednosti po zagonu procesa.

Če želite nastaviti lepo vrednost, ko zaženete postopek, ga zaženite na naslednji način:

$ nice -n NICE_VALUE COMMAND_TO_RUN

OPOMBA: Tukaj NICE_VALUE je lahko karkoli od -20 do 19 in COMMAND_TO_RUN je kateri koli ukaz, ki ga želite zagnati z lepo vrednostjo NICE_VALUE.

Recimo na primer, da želite zagnati spanje ukaz z lepo vrednostjo 14. Zaženite ukaz, kot sledi:

$ lepo -n 14 spanja 40000 &

Zdaj lahko z zgornjim ukazom preverite, ali je vrednost nice nastavljena pravilno. Vse postopke, ki ste jih zagnali (kot uporabnik za prijavo), lahko navedete z naslednjim ukazom:

$ ps -fl

Kot lahko vidite, je lepa vrednost postopka nastavljena na 14.

Zdaj, če želite spremeniti lepo vrednost obstoječih procesov, potem potrebujete le ID procesa (PID) procesa, kateremu želite spremeniti lepo vrednost. Lahko uporabite ps pom ukaz ali vrh ukaz za iskanje ID-ja ali PID-a procesa.

Potem lahko tečeš renice ukaz, da spremenite lepo vrednost obstoječega procesa:

$ sudo renice -n NEW_NICE_VALUE -p PROCESS_PID

Kot lahko vidite, se lepa vrednost postopka s PID 6422 spremeni.

Omejevanje uporabe CPU s CGROUPS:

Celotna oblika SKUPINE je Cnadzor Gkrogi. Gre za funkcije jedra Linuxa, ki se uporabljajo za omejevanje virov za obdelavo skupin, kot so (CPU, pomnilnik, dovoljenja in še veliko več) v Linuxu.

Vse, kar morate storiti, je, da ustvarite novo skupino procesov in tej skupini dodate svoje procese, na katere želite omejiti vire. Preprosto!

Orodja za upravljanje CGROUPS na CentOS 7 privzeto niso nameščena. Na voljo pa je v uradnem skladišču paketov CentOS 7.

Najprej posodobite predpomnilnik repozitorija paketa YUM z naslednjim ukazom:

$ sudo yum makecache

Zdaj namestite orodja za upravljanje CGROUPS z naslednjim ukazom:

$ sudo yum namesti libcgroup-tools

Zdaj pritisnite y in nato pritisnite .

Moral bi biti nameščen.

Uporabo procesorja lahko omejite na eno skupino. Na primer, lahko uporabite CGROUPS, da postopku znotraj CGROUP poveste, naj uporabi recimo 100 ms od vsakih 1000 ms (ali .1 od vsakih 1 sekund) procesorskega časa.

Najprej ustvarite CGROUP z naslednjim ukazom:

$ sudo cgcreate -g procesor: / cpulimit

OPOMBA: Tukaj, cpulimit je ime skupine, ki nadzoruje procesor uporabe.

Zdaj moraš nastaviti procesor.cfs_period_us in procesor.cfs_quota_us nepremičnine na cpulimit skupini.

V tem primeru je treba nastaviti na 1000ms (milisekunde) ali 1000000us (mikrosekunde) procesor.cfs_period_us lastnost in 100ms ali 100000us je treba nastaviti na procesor.cfs_quota_us lastnine.

Zaženite naslednje ukaze, da nastavite te lastnosti na cpulimit skupina:

$ sudo cgset -r procesor.cfs_period_us = 1000000 cpulimit
$ sudo cgset -r procesor.cfs_quota_us = 100000 cpulimit

Zdaj lahko zaženete naslednji ukaz, da preverite, ali so vse lastnosti pravilno nastavljene:

$ sudo cgget -g procesor: cpulimit

OPOMBA: Tukaj, cpulimit je ime SKUPINE in procesor je vir, ki ga omejujem.

Kot lahko vidite, procesor.cfs_period_us in procesor.cfs_quota_us so pravilno nastavljeni.

Zdaj ne glede na postopek, ki ga dodate cpulimit CGROUP bo uporabil 1/10th (100000/1000000 = 1/10 = 0.1 = 10%) celotnih ciklov procesorja.

Zdaj, da omejite CPU procesa, zaženite program ali ukaz z cgexec kot sledi:

$ sudo cgexec -g procesor: cpulimit YOUR_COMMAND

OPOMBA: Tukaj, YOUR_COMMAND so lahko kateri koli veljavni ukazi za Linux.

Da dokažem, da dejansko deluje, najprej zaženem naslednji ukaz brez CGROUPS in nato s CGROUPS ter vam pokažem rezultate.

$ dd, če = / dev / nič od = out bs = 1M

Kot lahko vidite, brez CGROUPS ukaz uporablja 90% celotnega CPU.

Nato sem z CGROUPS zagnal isti ukaz, kot sledi:

$ sudo cgexec -g procesor: cpulimit dd, če = / dev / nič od = out bs = 1M

Kot lahko vidite, je poraba procesorja največ 10%. Proces ne uporablja več kot to.

Torej tako uporabljate CGROUPS, da omejite uporabo procesorja v Linuxu. Hvala, ker ste prebrali ta članek.

Reference:

[1] https: // dostop.rdeč klobuk.com / documentation / en-us / red_hat_enterprise_linux / 6 / html / resource_management_guide / sec-cpu

[2] https: // linux.umreti.net / man / 1 / nice

[3] https: // linux.umreti.net / man / 8 / renice

Srednji gumb miške ne deluje v sistemu Windows 10
The srednji gumb miške vam pomaga, da se pomikate po dolgih spletnih straneh in zaslonih z veliko podatkov. Če se to ustavi, boste na koncu uporabili ...
Kako spremeniti levi in ​​desni gumb miške na računalniku z operacijskim sistemom Windows 10
Povsem normalno je, da so vse naprave računalniške miške ergonomsko zasnovane za desničarje. Na voljo pa so miške, ki so posebej zasnovane za levičarj...
Posnemajte klike miške tako, da v Windows 10 lebdite z miško Clickless Mouse
Uporaba miške ali tipkovnice v napačni drži čezmerne uporabe lahko povzroči veliko zdravstvenih težav, vključno s sevom, sindromom karpalnega kanala i...