Portál AbcLinuxu, 7. května 2025 22:23

Dotaz: CPU limit v bash scripte

6.6.2010 10:00 bashscript
CPU limit v bash scripte
Přečteno: 416×
Odpovědět | Admin
Zdravicko :), pisem si jeden mensi script v bashi na spracvovavanie udajov a potrebujem v nom na uvode obmedzit aby nevyuzival viac ako 20% CPU. Ako sa to da?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Fuky avatar 6.6.2010 10:26 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: CPU limit v bash scripte
Odpovědět | | Sbalit | Link | Blokovat | Admin

cpulimit

$ cpulimit -p 6011 --limit 20
-- RÁMO: psí tábor , ETriatlon: Výuka plavání
Fuky avatar 6.6.2010 10:53 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: CPU limit v bash scripte
6.6.2010 10:28 Ant
Rozbalit Rozbalit vše Re: CPU limit v bash scripte
Odpovědět | | Sbalit | Link | Blokovat | Admin
CPU Usage Limiter for Linux?
6.6.2010 11:06 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: CPU limit v bash scripte
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ak CPU skutocne nespotrebuvava priamo proces bash (velke matematicke vypocty v bashi?), ale bashom spustane externe procesy, tak je cpulimit nanic. Ten totiz bude obmedzovat iba bash, ktory aj tak vacsinu casu nebezi a caka na dobehnutie spustenych programov.

Nepoznam konkretny pripad, zle vacsinou je podobne obmedzovanie nepochopenim priorit (CPU aj diskovych) v systeme. Pretoze taketo obmedzovanie bude skrtit, aj ked sa zvysok CPU nepouziva. Vtedy nie je dovod naopak nevyuzit nevyuzit CPU kolko sa da (pretoze nie je ziadne dovod nemat vysledok skor (ak sa da), maximalne ho mozes vyuzit az pozdejsie), a v momente ked potrebuje CPU niekto iny ustupit.

Priority v Linuxe nefunguju tak, ze vyssie cislo berie vsetko. Vyssie cislo ma iba vacsi podiel CPU oproti procesu s nizsim (a aj to iba v momente, ked chcu oba bezat sucane, inak maju oba maximum).
If you hold a Unix shell up to your ear, you can you hear the C.
Petr Maleček avatar 6.6.2010 12:14 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: CPU limit v bash scripte
Priority v Linuxe nefunguju tak, ze vyssie cislo berie vsetko. Vyssie cislo ma iba vacsi podiel CPU oproti procesu s nizsim (a aj to iba v momente, ked chcu oba bezat sucane, inak maju oba maximum).
Asi jsem to špatně pochopil, ale jestli se nepletu, tak čím vyšší číslo s prioritou, tím menší priorita ... záporná čísla nesou vyšší prioritu.

Jestli se pletu, tak mne opravte, ale žiju s tím už od začátku co sedím na Linuxu.
LinMuck, WinFuck :-P
6.6.2010 12:51 Ant
Rozbalit Rozbalit vše Re: CPU limit v bash scripte
Je to tak, jak rikas. Nevim, proc to tak je. Take by mi logictejsi pripadalo, kdyby to bylo obracene a cislovane od nuly, ale zrejme pro to soucasne ciselne oznaceni je dobry (zrejme historicky) duvod.

Dokonce si i jeden takovy umim predstavit: rekneme, ze kazdy proces se standardne vola s frekvenci 60Hz (preruseni od sekundy u hodin realneho casu) pokud proces bezi (tedy 60x za sekundu se mu prideli procesor). To odpovida priorite nula. Pri zavedeni priorit se pak procesy budou volat s frekvenci 60+priorita. Logicky tak procesory s velkou zapornou hodnotou (-20) se budou volat s frekvenci 40Hz (tedy 40x za sekundy se jim prideli procesor oproti standardnim 60x za sekundy, tedy budou mit vyssi prioritu a pobezi rychlejsi).

Mozna je ale vsechno jinak :-)

Myslim, ze podstatou jeho prispevku byla skutecnost, ze priority urcuji jen procentualni, nikoli absolutni prednost pri ziskavani procesoroveho casu. Tedy ze proces s nejvyssi prioritou nevyzere vsechen CPU cas a na ostatni se nedostatek. Dostane se na vzdycky kazdeho, jen podle jejich priorit pomerove mene.
6.6.2010 12:52 Ant
Rozbalit Rozbalit vše Re: CPU limit v bash scripte
čím vyšší číslo s prioritou, tím menší priorita ... záporná čísla nesou vyšší prioritu
Samozrejme. Viz man nice
6.6.2010 13:00 fraxinus | skóre: 20 | blog: fraxinus
Rozbalit Rozbalit vše Re: CPU limit v bash scripte
>> Vtedy nie je dovod

Dovod sa vzdy najde: NTB, procak co nepodporuje zmenu taktovania, huciaci ventilator pri 100% zatazi
m$ lipo $m avatar 6.6.2010 17:43 m$ lipo $m | skóre: 19 | blog: čaj o páté | Redmond
Rozbalit Rozbalit vše Re: CPU limit v bash scripte
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus pouzit omezeni na uzivatele pod kterym ty procesy bezi. Vzhledem k tomu ze jde o script ktery muze volat nespocetne mnozstvi jednotlivych programku z kterych se sklada by omezovani na "script" neprineslo uzitek jak jiz bylo zmineo vyse v diskuzi. Resenim by mohlo byt vyuzit PAM a nastaveni limitu CPU primo pro konkretniho uzivatele v /etc/security/limits.conf.
Albuquerque, New Mexico (April 4, 1975)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.