Utilizarea comenzilor "Nice" și "Renice" în Linux

E vorba de priorități.

Sistemele Linux pot rula simultan mai multe procese (locuri de muncă). Chiar dacă CPU are mai multe procesoare sau nuclee, numărul proceselor depășește, în general, cu mult numărul de nuclee disponibile. Este sarcina kernelului Linux de a distribui ciclurile CPU disponibile proceselor active.

E bine să obțineți prioritățile drepte

Implicit, toate procesele sunt considerate la fel de urgente și li se alocă aceeași cantitate de timp CPU. Pentru a permite utilizatorului să schimbe importanța relativă a proceselor, Linux asociază un parametru de prioritate pentru fiecare lucrare care poate fi setată sau modificată de utilizator. Kernel-ul Linux rezervă apoi timp CPU pentru fiecare proces bazat pe valoarea relativă a priorității.

Parametrul frumos este utilizat în acest scop. Acesta variază de la minus 20 la plus 19 și poate lua numai valori întregi. Valoarea minus 20 reprezintă nivelul de prioritate maximă, în timp ce 19 reprezintă cea mai mică valoare. Faptul că nivelul cel mai înalt de prioritate este indicat de numărul cel mai negativ este oarecum neintuitiv; totuși, funcționarea la o prioritate mai mică este considerată "mai bună", deoarece permite altor procese să utilizeze o parte mai mare a timpului procesorului.

Cum să joci frumos

Folosind comanda nice începe un nou proces (job) și îi atribuie o valoare prioritară (frumos) în același timp. Pentru a schimba prioritatea unui proces care se execută deja, utilizați comanda renice .

De exemplu, următoarea linie de comandă pornește procesul "lucrare mare", setând valoarea frumoasă la 12:

frumos -12 mare de locuri de muncă

Rețineți că liniuța din fața celor 12 nu reprezintă un semn minus. Are funcția obișnuită de marcare a unui pavilion trecut ca argument al comenzii frumoase.

Pentru a seta valoarea frumoasă la minus 12, adăugați o altă linie:

frumos - 12 mare de locuri de muncă

Amintiți-vă că valorile minime mai mici corespund unei priorități mai mari. Astfel, -12 are o prioritate mai mare decât 12. Valoarea implicită este 0. Utilizatorii obișnuiți pot stabili priorități mai mici (valori pozitive frumoase). Pentru a utiliza priorități mai mari (valori negative bune), sunt necesare privilegii de administrator.

Puteți schimba prioritatea unei lucrări care se execută deja cu renice:

renice 17-p 1134

Aceasta modifică valoarea frumoasă a jobului cu id-ul procesului 1134-17. În acest caz, nu se utilizează nicio bordură pentru opțiunea de comandă atunci când se specifică valoarea frumoasă. Următoarea comandă modifică valoarea frumoasă a procesului 1134 la -3:

renice -3-p 1134

Pentru a imprima o listă cu procesele curente , utilizați comanda ps. Adăugarea opțiunii "l" (ca în "lista") listează valoarea frumoasă sub titlul coloanei "NI". De exemplu:

ps -al