Kā noteikt prioritātes Linux procesiem, izmantojot Nice un Renice

Dažādu Linux operētājsistēmu pārvaldības uzdevumu ietvaros ir ideāli detalizēti zināt, kā procesi darbojas sistēmā, jo tas ir būtiski, lai pabeigtu un zinātu, kā katrs process iekšēji pilda funkciju, kurai tas ir izstrādāts.

Šodien Solvetic detalizēti analizēs, kā noteikt prioritātes mūsu Linux izplatīšanas procesiem, izmantojot jauku un renicētu.

Kādas ir procesa prioritātes LinuxPirms zināt, cik jauki un izdevīgi darbojas, ir svarīgi mazliet saprast, kāpēc noteiktas Linux procesa prioritātes, procesa prioritātes, noteikšana tiek izmantota, lai noteiktu, cik ilgi atlasītais process varēs izmantot procesoru noteiktā laikā.

Linux vidē procesori tiek koplietoti vairākos procesos (procesi mainās, izmantojot pieejamo (-os) procesoru), kas ļauj lietotājam saprast, ka visas lietojumprogrammas vai uzdevumi tiek izpildīti vienlaikus, tāpēc nosakot prioritāti , mēs norādām sistēmai, kuri procesi var vairāk izmantot procesoru un kuri procesi ieņem otro vietu.

Šī prioritāte var novest pie tā, ka daži procesi netiek izpildīti jebkurā laikā, jo tos procesu rindas beigās pārvieto citi procesi ar augstāku lietošanas prioritāti.

Kā kodola plānotājs darbojas LinuxVēl viens punkts, kas jāpatur prātā, pārvaldot Linux sistēmas, ir zināt kodolu, kas ir atbildīgs par sāknēšanu. Tā kodolā ir programmētājs vai plānotājs, kas ir kodola vienība, kas nosaka vispiemērotāko procesu no visiem pieejamajiem izpildāmajiem procesiem, kas jāizpilda pirmajā instancē. Pēc tam tas sadala procesora laiku starp izpildāmiem procesiem sistēmā.

Izpildāms process ir process, kas gaida tikai CPU laiku. Programmētājs veido daudzuzdevumu kodolu operētājsistēmā Linux, izmantojot prioritāšu plānošanas algoritmu, lai izvēlētos no sistēmas izpildāmiem procesiem. Tad tas klasificē procesus, pamatojoties uz vissvarīgākajiem, kā arī katra no tiem CPU laika prasības.

Operētājsistēmā Linux kopumā ir 140 prioritātes un divi dažādi prioritāšu diapazoni:

  • Pirmais ir jauka vērtība, kas svārstās no -20 (augstākās prioritātes vērtība) līdz 19 (zemākā prioritātes vērtība), un noklusējuma vērtība ir 0.
  • Otrais ir reālā laika prioritāte, kas pēc noklusējuma svārstās no 1 līdz 99, pēc tam no 100 līdz 139 ir paredzēti lietotāja vietai.

1. Procesu vērtību pārbaude Linux


Linuxā mēs varam pārbaudīt procesa vērtības, izmantojot tādas utilītas kā ps, top vai htop.
Ja mēs izmantojam parametru ps, mēs varam izpildīt sekojošo:
 ps -eo pid, ppid, ni, comm
Tur sleja neatklāj katra procesa vērtību:

PALIELINĀT

Alternatīvi mēs varam izmantot augšējos vai htop parametrus, kur mēs varam redzēt daudz pilnīgākus rezultātus, un automātiski mēs redzēsim kolonnu ar vienādām katra parādītā procesa vērtībām:

tops

PALIELINĀT

htop

PALIELINĀT

PiezīmeJa nav htop, mēs to varam instalēt, izpildot rindu sudo apt install htop

2. Atšķirība starp PR vai PRI un NI un to vērtību aprēķināšana


Izpildot augšējos un htop parametrus, mēs varam redzēt slejas PR, PRI vai NI, tās nozīmē:

NEVIENUTā ir draudzīga vērtība, tas ir, tā ir lietotāja telpas koncepcija

PR / PRITā ir patiesā procesa prioritāte, šo informāciju nodrošina Linux kodols

Šo vērtību pamatā ir šādas lietas.

 Kopējais prioritāšu skaits = 140 Reāllaika prioritāšu diapazons (PR vai PRI): 0 līdz 99 Lietotāja telpas prioritāšu diapazons: 100 līdz 139 NI vērtību diapazons (Nice Value) -20 līdz 19: PR = 20 + NI PR = 20 + ( -20 līdz + 19) PR = 20 + -20 līdz 20 + 19 PR = 0 līdz 39, kas ir vienāds ar 100 līdz 139
Ja parādītajos rezultātos redzam rt vērtību, tas norāda, ka process tiek veikts saskaņā ar plānošanas prioritāti reālā laikā.

3. Kā Linux izpildīt komandu ar jauku vērtību


Nice ir atbildīga par konkrētas prioritātes piešķiršanu programmai, kad tā tiek izpildīta, un par mantojumu uzdevumiem un procesiem, ko šī programma var izraisīt sistēmā. Jauki attiecas uz gadījumiem, kad mums ir programma vai uzdevums, kas prasa lielu CPU izmantošanu, bet arī tas, ka šī procesa pabeigšana var aizņemt ilgu laiku, tur būs iespējams konfigurēt augstu vai labvēlīgu prioritāti, izmantojot jauko komandu.

Sintakse, ko varam izmantot, ir šāda:

 nice -n nice-value [komandu argumenti] jauki-jauki-vērtība [komandu argumenti] jauki-pielāgošana = jauka vērtība [komandas argumenti]
Apsveriet sekojošo:
  • Ja vērtība nav norādīta, jauks pēc noklusējuma iestatīs prioritāti 10
  • Komandai vai programmai, kas izpildīta bez noklusējuma vērtībām, prioritāte ir nulle
  • Tikai saknes lietotājs var izpildīt komandu vai programmu ar augstāku vai augstāku prioritāti
  • Parastie lietotāji var palaist komandu vai programmu tikai ar zemu prioritāti
Lai iestatītu prioritāti, tā vietā, lai sāktu programmu vai komandu ar noklusējuma prioritāti, to būs iespējams sākt ar noteiktu prioritāti, izmantojot šādu jauku komandu:
 sudo jauki -n -5 xclock &
Vai arī mēs varam izpildīt sekojošo:
 sudo jauki -pielāgošana = 5 xclock &

PALIELINĀT

Mēs redzam, ka tiek ģenerēts jauns ID.

4. Mainiet procesa plānošanas prioritāti Linux


Izmantojot Linux vidi, tas ļauj dinamiski programmēt, pamatojoties uz prioritātēm, tādēļ, ja programma jau darbojas, tās prioritāti būs iespējams mainīt, izmantojot komandu renice šādi:
 renice -n -12 -p (PID) renice -n -2 -u (lietojumprogramma)
Izpildot šo komandu, mēs varēsim redzēt veco prioritāti un jauno prioritāti.

PALIELINĀT

5. Kā iestatīt jauku noklusējumu konkrēta lietotāja procesiem


Failā /etc/security/limits.conf varat iestatīt noklusējuma vērtību konkrētam lietotājam vai grupai. Tās galvenā funkcija ir noteikt resursu ierobežojumus lietotājiem, kas ir savienoti, izmantojot PAM.

Sintakse, lai definētu ierobežojumu lietotājam, ir šāda:

 
Varat arī izveidot failu failā /etc/security/limits.d/, kas rūpējas par konfigurācijas ignorēšanu galvenajā failā, un šie faili tiek lasīti alfabētiskā secībā.

Ja mēs vēlamies saņemt jauku vai renice palīdzību, mēs varam veikt šādas darbības:

 cilvēks jauks cilvēks Renice

PALIELINĀT

Tādējādi mums ir iespēja noteikt prioritātes atbilstoši procesu vajadzībām, daudz vairāk optimizējot CPU izmantošanu Linux un ievērojami uzlabojot administratīvos uzdevumus.

wave wave wave wave wave