Unutar različitih zadataka upravljanja operacijskim sustavima Linux, idealno je detaljno znati kako procesi funkcioniraju u sustavu jer je to bitno za dovršetak i znanje kako interno svaki proces ispunjava funkciju za koju je razvijen.
Danas će Solvetic detaljno analizirati kako dati prioritet procesima naših Linux distribucija koristeći nice i renice.
Koji su prioriteti procesa u LinuxuVažno je prije nego saznate kako lijepo i renice funkcioniraju razumjeti malo o tome zašto se postavljanje određenog prioriteta Linux procesa, prioriteta procesa, koristi za određivanje vremena u kojem će odabrani proces moći koristiti procesor u intervalu.određeno vrijeme.
U Linux okruženjima procesore dijeli više procesa (procesi se izmjenjuju u upotrebi dostupnih procesora) što omogućuje korisniku da uoči da se sve aplikacije ili zadaci izvode u isto vrijeme, stoga definiranjem prioriteta , ukazujemo sustavu koji procesi mogu više koristiti procesor i koji procesi zauzimaju drugo mjesto.
Taj prioritet može dovesti do toga da se neki procesi ne izvode u bilo kojem trenutku, budući da ih prema procesu procesnog reda pomiču drugi procesi s većim prioritetom uporabe.
Kako Kernel Scheduler radi u LinuxuJoš jedna stvar koju treba imati na umu pri upravljanju Linux sustavima je poznavanje jezgre koja je zadužena za dizanje sustava. U svojoj jezgri ima programera ili planera, koji je jedinica jezgre koja određuje najprikladniji proces od svih dostupnih izvršnih procesa, koji se moraju izvršiti u prvoj instanci. Zatim raspodjeljuje procesorsko vrijeme između izvršnih procesa u sustavu.
Izvršni proces je onaj koji samo čeka da se CPU izvrši. Programer čini jezgru višezadaćnosti u Linuxu, koristeći algoritam raspoređivanja zasnovan na prioritetima za odabir među izvršnim procesima u sustavu. Zatim klasificira procese na temelju najosnovnijih, kao i zahtjeve za procesorom vremena svakog od njih.
U Linuxu postoji ukupno 140 prioriteta i dva različita raspona prioriteta implementirana u Linuxu:
- Prva je lijepa vrijednost koja se kreće od -20 (vrijednost najvećeg prioriteta) do 19 (vrijednost najnižeg prioriteta), a zadana vrijednost je 0.
- Drugi je prioritet u stvarnom vremenu, koji se prema zadanim postavkama kreće od 1 do 99, tada je 100 do 139 namijenjeno korisničkom prostoru.
1. Provjera vrijednosti procesa u Linuxu
U Linuxu možemo provjeriti vrijednosti procesa pomoću pomoćnih programa kao što su ps, top ili htop.
Ako koristimo parametar ps, možemo izvršiti sljedeće:
ps -eo pid, ppid, ni, commTamo stupac ne otkriva vrijednost svakog procesa:
POVEĆAJTE
Alternativno, možemo koristiti gornje ili htop parametre gdje možemo vidjeti puno potpunije rezultate i automatski ćemo vidjeti stupac s istim vrijednostima svakog prikazanog procesa:
vrh
POVEĆAJTE
htop
POVEĆAJTE
BilješkaU slučaju da nemamo htop, možemo ga instalirati izvršavanjem retka sudo apt install htop
2. Razlika između PR ili PRI i NI i kako izračunati njihove vrijednosti
Kada izvršimo parametre top i htop, možemo vidjeti stupce PR, PRI ili NI, oni znače:
NITo je prijateljska vrijednost, odnosno koncept korisničkog prostora
PR / PRITo je pravi prioritet procesa, te informacije pruža Linux kernel
Te se vrijednosti temelje na slijedećem.
Ukupan broj prioriteta = 140 Raspon prioriteta u stvarnom vremenu (PR ili PRI): 0 do 99 Raspon prioriteta korisničkog prostora: 100 do 139 NI raspon vrijednosti (lijepa vrijednost) -20 do 19: PR = 20 + NI PR = 20 + ( -20 do + 19) PR = 20 + -20 do 20 + 19 PR = 0 do 39 što je jednako 100 do 139Ako u prikazanim rezultatima vidimo vrijednost rt, to znači da se proces izvršava prema prioritetu zakazivanja u stvarnom vremenu.
3. Kako pokrenuti naredbu s vrijednošću Nice na Linuxu
Nice je zadužen za dodjeljivanje određenog prioriteta programu kada se izvrši, te nasljeđivanjem zadataka i procesa koje ovaj program može pokrenuti unutar sustava. Lijepo se primjenjuje kada imamo program ili zadatak koji zahtijeva puno korištenja procesora, ali i da ovaj proces može potrajati dugo da se završi, tamo će biti moguće konfigurirati visoki ili povoljni prioritet pomoću naredbe nice.
Sintaksa koju možemo koristiti je sljedeća:
nice -n nice-value [naredbeni argumenti] nice-nice-value [naredbeni argumenti] nice --adjustment = nice-value [naredbeni argumenti]Uzmite u obzir sljedeće:
- Ako nije navedena vrijednost, nice će prema zadanim postavkama postaviti prioritet 10
- Naredba ili program izveden bez zadanih vrijednosti postavljen je na prioritet nula
- Samo korisnik root može izvršiti naredbu ili program s većim ili većim prioritetom
- Normalni korisnici mogu pokrenuti samo naredbu ili program s niskim prioritetom
sudo nice -n -5 xclock &Ili možemo izvršiti sljedeće:
sudo nice --podešavanje = 5 xclock &
POVEĆAJTE
Možemo vidjeti da je generiran novi ID.
4. Promijenite prioritet zakazivanja procesa u Linuxu
Prilikom korištenja Linux okruženja, omogućuje dinamičko programiranje na temelju prioriteta, stoga će, ako je program već pokrenut, biti moguće promijeniti njegov prioritet pomoću naredbe renice na sljedeći način:
renice -n -12 -p (PID) renice -n -2 -u (aplikacija)Prilikom izvršavanja ove naredbe moći ćemo vidjeti stari i novi prioritet.
POVEĆAJTE
5. Kako postaviti Nice kao zadane za procese određenog korisnika
Zadanu vrijednost za određenog korisnika ili grupu možete postaviti u /etc/security/limits.conf datoteci. Njegova je glavna funkcija definirati ograničenja resursa za korisnike povezane putem PAM -a.
Sintaksa za definiranje ograničenja za korisnika je sljedeća:
Alternativno, bit će moguće stvoriti datoteku u /etc/security/limits.d/ koja brine o nadjačavanju konfiguracije u glavnoj datoteci i te se datoteke čitaju abecednim redom.
Ako želimo dobiti pomoć nice ili renice, možemo izvršiti sljedeće:
čovječe fin čovjek renice
POVEĆAJTE
Tako imamo pri ruci mogućnost utvrđivanja prioriteta u skladu s potrebama procesa, optimizirajući znatno više korištenja CPU -a u Linuxu i značajno poboljšavajući administrativne zadatke.