Razgovarajmo Prioriteti sustava Windows. U većini slučajeva nema potrebe da se "igrate" s postavljanjem prioriteta, ali ponekad kompetentni administrator sustava može pomoći sustavu da ispravnije rasporedi vrijeme procesora između izvršenih zadataka. Nema jedinstvenog recepta, ali kroz "odabir i nabrajanje" to je sasvim izvedivo. Gdje je to potrebno? Na primjer, u hrpi 1C-SQL-a možete dati više vremena procesora 1C i SQL, kao najkritičnijim procesima za resurse.
Općenito, možete pregledati i promijeniti prioritet pokrenutog procesa putem Upravitelja zadataka
Windows NT / 2000 /7/ 2008
U sustavu Windows 2012 to je "pokopano" malo dublje
Kao što vidite iz gornjih primjera, dostupno vam je samo 6 prioriteta (kako se kasnije ispostavilo, ovo je) prioritetne klase). Dovoljno? Microsoft misli da. Ali sjetimo se "legendarne" fraze Billa Geista koja je govorila da će "640 KB RAM-a biti dovoljno za sve." Ali vrijeme je pokazalo da je to daleko od slučaja. :)
A sada da vidimo kako je to zapravo.
Zapravo, u sustavu Windows postoje 32 razine prioriteta, od 0 do 31.
Grupirani su ovako:
- 31 - 16 razine u stvarnom vremenu;
- 15 - 1 dinamičke razine;
- 0 - sistemska razina rezervirana za nit nulte stranice.
Prilikom stvaranja postupka dodjeljuje se jedan od šest prioritetne klase:
- Klasa u stvarnom vremenu (vrijednost 24),
- Visoka klasa (vrijednost 13),
- Iznad normalne klase (vrijednost 10),
- Normalna klasa (vrijednost 8),
- Ispod normalne klase (vrijednost 6),
- ili neaktivna klasa (vrijednost 4).
Možete vidjeti prioritet postupka pomoću Upravitelja zadataka..
primjedba: Prioriteti iznad normalnog i ispod normalnog pojavljuju se od Windows 2000.Prioritet svake niti (osnovni prioritet niti) sastoji se od prioriteta njegovog procesa i relativni prioritet sam tok. Postoji sedam relativnih prioriteta niti:
- Normalno: isto kao i postupak;
- Iznad normalnog: +1 za obradu prioriteta;
- Ispod normalnog: -1;
- Najviši: +2;
- Najniže: -2;
- Vremensko kritično: postavlja osnovni prioritet struje za realnu klasu vremena na 31, za ostale klase na 15.
- Idle: postavlja osnovni prioritet toka za realnu klasu vremena na 16, za ostale klase na 1.
Sljedeća tablica prikazuje prioritete procesa, relativne i osnovne prioritete niti..
Prioritet protoka | Klasa procesa | Klasa procesa | |||||
Klasa u praznom hodu | Ispod normalne klase | Normalna klasa | Iznad normalne klase | Visoka klasa | Real time class | ||
1 | besposlen | besposlen | besposlen | besposlen | besposlen | ||
2 | najniža | ||||||
3 | Ispod ... | ||||||
4 | Klasa u praznom hodu | normalan | najniža | ||||
5 | Iznad ... | Ispod ... | |||||
6 | Ispod normalne klase | najviši | normalan | najniža | |||
7 | Iznad ... | Ispod ... | |||||
8 | Normalna klasa | najviši | normalan | najniža | |||
9 | Iznad ... | Ispod ... | |||||
10 | Iznad normalne klase | najviši | normalan | ||||
11 | Iznad ... | najniža | |||||
12 | najviši | Ispod ... | |||||
13 | Visoka klasa | normalan | |||||
14 | Iznad ... | ||||||
15 | najviši | ||||||
15 | Vrijeme je kritično | Vrijeme je kritično | Vrijeme je kritično | Vrijeme je kritično | Vrijeme je kritično | ||
16 | besposlen | ||||||
17 | |||||||
18 | |||||||
19 | |||||||
20 | |||||||
21 | |||||||
22 | najniža | ||||||
23 | Ispod ... | ||||||
24 | Real time class | normalan | |||||
25 | Iznad ... | ||||||
26 | najviši | ||||||
27 | |||||||
28 | |||||||
29 | |||||||
30 | |||||||
31 | Vrijeme je kritično |
Sad kad smo sve ovo naučili, što mi u vezi s tim možemo učiniti? Pa, na primjer, počnite koristiti.
Kako inače možete započeti postupak s "nestandardnim" prioritetom ili promjenom?
Metoda 1. Pokrenite zadatak / postupak i promijenite prioritet putem Upravitelja zadataka.
Protiv metode:
- Dostupno je samo 6 prioriteta
- Prebacivanje prioriteta vrši se mišem, nije automatizirano.
Metoda 2. Možete koristiti naredbu START s odgovarajućim tipkama
Dostupni ključevi prioriteta su sljedeći (namjerno izostavljam opcije naredbenog retka naredbe START nije povezano s opisanim postupkom rada s prioritetima):
C: \> start /?
Pokreće zasebni prozor za pokretanje određenog programa ili naredbe.
START ["title"] [/ D path] [/ I] [/ MIN] [/ MAX] [/ SEPARATE | / SHARED]
[/ NISKO | / NORMALNO | / VISOKO | / REALTIME | / ABOVENORMAL | / Ispod]
[/ NODE] [/ AFFINITY] [/ WAIT] [/ B]
[naredba / program] [parametri]
LOW Pokrenite primjenu u klasi prioriteta IDLE.
NORMALNO Pokrenite primjenu u NORMAL klasi prioriteta.
HIGH Započnite primjenu u VISOKOJ prioritetnoj klasi.
Stvarno Pokrenite primjenu u REALTIME prioritetnoj klasi.
ABOVENORMAL Započnite primjenu u prioritetnoj klasi ABOVENORMAL.
BELOWNORMAL Pokrenite primjenu u BELOWNORMAL prioritetnoj klasi.
Kao što vidite, naredba START omogućuje pokretanje postupka s istim 6 prioriteta koji su dostupni putem Upravitelja zadataka
Minus metoda:
- Dostupno je samo 6 prioriteta
Metoda 3. Korištenje uslužnog programa wmic.exe
Kao što je gore prikazano, upravitelj zadataka i naredba START dovoljno su nespretni za zadatak davanja prioriteta. Pogledajmo kako fleksibilnije primijeniti. Koristit ćemo uslužni program wmic.exe.
Komandna linija:
wmic proces u kojem name = "AppName" CALL setpriority ProcessIDLevel
Primjer:
wmic proces u kojem name = "calc.exe" CALL setpriority 32768
ili
wmic proces u kojem je name = "calc.exe" CALL setpriority "iznad normalnog"
Prioriteti (unaprijed definirani):
- mirovanje: 64
- ispod normalne: 16384
- normalno: 32
- iznad normalnog: 32768
- visoki prioritet: 128
- realno vrijeme: 256
Evo kratkog primjera pokretanja wmic.exe za dobivanje potrebnih informacija
Koristimo naredbu:
Popis wmic procesa kratak
Dobit ćete popis procesa koji se pokreću na vašem lokalnom računalu. Sada pokrenite naredbu:
popis wmic procesa kratak | pronađi "cmd.exe"
rezultat:
Posebno je lansirano nekoliko primjeraka cmd.exe, tako da je ilustracija bila potpunija.
Sada je popis procesa ograničen samo na one procese u ime izvršnog modula od kojih postoji redak "cmd.exe". Obratite pažnju na PID postupka.
Sada pokušajmo odabrati procese koji nas zanimaju, koristeći izravno WMI i ne pribjegavajući standardnim alatima naredbenog retka. Da biste to učinili, jednostavno napišite:
wmic postupak gdje je opis = "cmd.exe" popis kratak
rezultat:
Usporedite rezultate. Sjetite se PID procesa CMD.EXE.
Naredbeni redak za pokretanje wmic.exe
wmic proces gdje processid = "XXXX" CALL setpriority ProcessIDLevel
Pa, sada možemo promijeniti prioritet određenog procesa (na primjer, s PID = 8476):
wmic proces gdje processid = "8476" CALL setpriority 32768
ili
wmic proces u kojem je processid = "8476" CALL setpriority "iznad normalnog"
Što slijedi? Procijenite, pokušajte, odaberite i fino prilagodite prioritete. Poboljšanje rada usluga i procesa, kao i rada krajnjih korisnika.