Použitie príkazov "Nice" a "Renice" v systéme Linux

Je to všetko o prioritách.

Systémy Linux môžu súčasne spustiť mnoho procesov (úloh). Aj keď procesor má viac procesorov alebo jadier, počet procesov zvyčajne ďaleko prevyšuje počet dostupných jadier. Úlohou jadra systému Linux je distribuovať dostupné procesorové cykly do aktívnych procesov.

Radosť priame priority

Štandardne sú všetky procesy považované za rovnako naliehavé a pridelené rovnaké množstvo času procesora. Aby používateľ mohol zmeniť relatívny význam procesov, Linux priradí prioritný parameter ku každej úlohe, ktorú môže používateľ nastaviť alebo zmeniť. Linuxové jadro potom rezervuje čas procesora pre každý proces na základe jeho relatívnej hodnoty priority.

Na tento účel sa používa pekný parameter. Rozsah sa pohybuje od mínus 20 do plus 19 a môže trvať iba na celých hodnotách. Hodnota mínus 20 predstavuje najvyššiu prioritu, zatiaľ čo 19 predstavuje najnižšiu. Skutočnosť, že najvyššia priorita je indikovaná najaktívnejším číslom, je trochu neinštitucionálna; avšak spustenie na nižšiu prioritu sa považuje za "lepšie", pretože umožňuje iným procesom používať väčší podiel času CPU.

Ako hrať pekne

Pomocou príkazu nice začne nový proces (úloha) a priradí mu priradenú prioritu (peknú) hodnotu súčasne. Ak chcete zmeniť prioritu už spusteného procesu, použite príkaz renice .

Napríklad nasledujúci príkazový riadok spustí proces "veľká úloha", nastavenie peknej hodnoty na 12:

pekná -12 veľká práca

Upozorňujeme, že pomlčka pred značkou 12 nepredstavuje znamienko mínus. Má zvyčajnú funkciu označovania príznaku, ktorý prešiel ako argument pre pekný príkaz.

Ak chcete nastaviť peknú hodnotu na hodnotu mínus 12, pridajte ďalšie pomlčka:

pekná - 12 veľká práca

Pamätajte, že nižšie pekné hodnoty zodpovedajú vyššej priorite. Takže -12 má vyššiu prioritu než 12. Východisková pekná hodnota je 0. Praví užívatelia môžu nastaviť nižšie priority (pozitívne pekné hodnoty). Na použitie vyšších priorít (záporné pekné hodnoty) sú potrebné administrátorské privilégiá.

Môžete zmeniť prioritu úlohy, ktorá už prebieha pomocou renice:

renice 17 -p 1134

Tým sa zmení pekná hodnota úlohy s procesom id 1134 až 17. V tomto prípade sa pri zadávaní peknej hodnoty nepoužije žiadna pomlčka pre príkazovú voľbu. Nasledujúci príkaz zmení peknú hodnotu procesu 1134 na -3:

renice -3 -p 1134

Ak chcete vytlačiť zoznam aktuálnych procesov , použite príkaz ps. Pridanie zoznamu "l" (ako v "zozname") obsahuje zoznam pekných hodnôt pod záhlavím stĺpca "NI". Napríklad:

ps -al