Pogovorimo se Prednostne naloge procesa Windows. V večini primerov se ni treba igrati z določanjem prioritet, včasih pa lahko pristojni sistemski sistem pomaga sistemu, da pravilno porazdeli čas procesorja med izvajanimi nalogami. Enotnega recepta sicer ni, toda s pomočjo "izbire in naštevanja" je to povsem izvedljivo. Kje je to potrebno? Na primer, v kupu 1C-SQL lahko daste več procesorskega časa 1C in SQL, kot najbolj kritične procese za vire.
Na splošno si lahko ogledate in spremenite prednost izvajanja postopka s pomočjo upravitelja opravil
Windows NT / 2000 /7/ 2008
V sistemu Windows 2012 "pokopan" je malo globlje
Kot lahko vidite iz zgornjih primerov, vam je na voljo le 6 prednostnih nalog (kot se pozneje izkaže, da je to) prednostni razredi) Dovolj? Microsoft misli, da. Toda spomnimo se "legendarne" fraze Billa Geista, ki je govorila, da bo "640 KB RAM-a dovolj za vse." Toda čas je pokazal, da to še zdaleč ni tako. :)
Zdaj pa poglejmo, kako je v resnici.
Dejansko je v sistemu Windows 32 prednostnih stopenj, od 0 do 31.
Združeni so tako:
- 31 - 16 ravni v realnem času;
- 15 - 1 dinamične ravni;
- 0 - sistemska raven rezervirana za nit ničelne strani.
Pri ustvarjanju postopka mu dodelimo enega od šestih prednostni razredi:
- Razred v realnem času (vrednost 24),
- Visok razred (vrednost 13),
- Nad običajnim razredom (vrednost 10),
- Normalni razred (vrednost 8),
- Pod običajnim razredom (vrednost 6),
- ali v prostem razredu (vrednost 4).
S pomočjo upravitelja opravil si lahko ogledate prednost postopka..
Opomba: Od leta 2000 se pojavljajo prioritete nad normalno in pod normalno.Prednost vsake niti (osnovna prednost nit) je sestavljena iz prioritete njegovega procesa in relativna prioriteta sam tok. Obstaja sedem relativnih prednostnih niti:
- Običajno: enako kot postopek;
- Nad običajnim: +1 za obdelavo prednosti;
- Spodaj normalno: -1;
- Najvišja: +2;
- Najnižje: -2;
- Časovno kritičen: osnovna prioriteta toka za realni časovni razred nastavi na 31, za druge razrede na 15.
- Mirovanje: osnovna prednost toka za razred realnega časa nastavi na 16, za druge razrede na 1.
Naslednja tabela prikazuje procesne prioritete, relativne in osnovne prioritete niti..
Prednost pretoka | Procesni razred | Procesni razred | |||||
Neaktivni razred | Pod normalnim razredom | Normalni razred | Nad normalnim razredom | Visok razred | Real time class | ||
1 | V prostem teku | V prostem teku | V prostem teku | V prostem teku | V prostem teku | ||
2 | Najnižje | ||||||
3 | Spodaj ... | ||||||
4 | Neaktivni razred | Običajno | Najnižje | ||||
5 | Zgoraj ... | Spodaj ... | |||||
6 | Pod normalnim razredom | Najvišja | Običajno | Najnižje | |||
7 | Zgoraj ... | Spodaj ... | |||||
8 | Normalni razred | Najvišja | Običajno | Najnižje | |||
9 | Zgoraj ... | Spodaj ... | |||||
10 | Nad normalnim razredom | Najvišja | Običajno | ||||
11 | Zgoraj ... | Najnižje | |||||
12 | Najvišja | Spodaj ... | |||||
13 | Visok razred | Običajno | |||||
14 | Zgoraj ... | ||||||
15 | Najvišja | ||||||
15 | Čas kritičen | Čas kritičen | Čas kritičen | Čas kritičen | Čas kritičen | ||
16 | V prostem teku | ||||||
17 | |||||||
18 | |||||||
19 | |||||||
20 | |||||||
21 | |||||||
22 | Najnižje | ||||||
23 | Spodaj ... | ||||||
24 | Real time class | Običajno | |||||
25 | Zgoraj ... | ||||||
26 | Najvišja | ||||||
27 | |||||||
28 | |||||||
29. | |||||||
30 | |||||||
31 | Čas kritičen |
Zdaj, ko smo se vsega tega naučili, kaj lahko storimo glede tega? No, na primer, začnite uporabljati.
Kako drugače lahko začnete postopek z "nestandardno" prednostjo ali spremembo?
Metoda 1. Zaženite nalogo / postopek in spremenite prednostno nalogo s pomočjo upravitelja opravil.
Slabosti metode:
- Na voljo je samo 6 prioritet
- Prednostno preklapljanje poteka z miško, ni avtomatizirano.
2. način 2. Ukaz START lahko uporabite z ustreznimi tipkami
Na voljo so naslednji ključi (namerno izpustim možnosti ukazne vrstice ZAČETEK ni povezano z opisanim postopkom dela s prednostnimi nalogami):
C: \> začetek /?
Zažene ločeno okno za zagon določenega programa ali ukaza.
START ["naslov"] [/ D pot] [/ I] [/ MIN] [/ MAX] [/ SEPARATE | / SHARED]
[/ NIZKAJ | / NORMALNO | / VISOKO | / REALTIME | / ABOVENORMAL | / Spodaj]
[/ NODE] [/ AFFINITY] [/ POROČI] [/ B]
[ukaz / program] [parametri]
Nizka Zaženite aplikacijo v prednostnem razredu IDLE.
Običajno Začnite uporabo v prednostnem razredu NORMAL.
Visoka Začnite uporabo v VISOKEM prednostnem razredu.
REALTIME Zaženite uporabo v prednostnem razredu REALTIME.
ABOVENORMALNO Začnite uporabo v prednostnem razredu ABOVENORMAL.
NIŽJE Začnite uporabo v prednostnem razredu BELOWNORMAL.
Kot lahko vidite, ukaz START omogoča začetek postopka z istimi šestimi prednostnimi nalogami, ki so na voljo prek upravitelja opravil
Minus metoda:
- Na voljo je samo 6 prioritet
3. način 3. Uporaba pripomočka wmic.exe
Kot je prikazano zgoraj, sta upravitelj opravil in ukaz START nerodna za določitev prednostnih nalog. Poglejmo, kako ga uporabiti bolj prožno. Uporabili bomo pripomoček wmic.exe.
Ukazna vrstica:
wmic proces, kjer name = "AppName" CALL setpriority ProcessIDLevel
Primer:
wmic postopek, kjer name = "calc.exe" CALL setpriority 32768
ali
wmic postopek, kjer name = "calc.exe" CALL setpriority "nad normalno"
Prednostne naloge (vnaprej določene):
- mirovanje: 64
- pod normalno: 16384
- normalno: 32
- nad normalno: 32768
- visoka prioriteta: 128
- realni čas: 256
Tu je kratek primer izvajanja wmic.exe, da dobite potrebne informacije
Uporabljamo ukaz:
kratek seznam wmic procesov
Dobili boste seznam procesov, ki se izvajajo v vašem lokalnem računalniku. Zdaj zaženite ukaz:
seznam wmic procesov kratek | najdi "cmd.exe"
Rezultat:
Posebej je lansiralo več kopij cmd.exe, tako da je bila ilustracija popolnejša.
Zdaj je seznam procesov omejen samo na tiste procese, v imenu izvedljivega modula, katerih vrstica je "cmd.exe". Bodite pozorni na PID postopka.
Zdaj poskusimo izbrati procese, ki nas zanimajo, z uporabo neposredne WMI in brez uporabe standardnih orodij ukazne vrstice. Če želite to narediti, preprosto napišite:
wmic postopek, kjer je opis = "cmd.exe" kratek
Rezultat:
Primerjaj rezultate. Ne pozabite na PID procesa CMD.EXE.
Ukazno vrstico za zagon wmic.exe
wmic proces, kjer Processid = "XXXX" CALL setpriority ProcessIDLevel
No, zdaj lahko spremenimo prednost določenega postopka (na primer s PID = 8476):
wmic postopek, kjer Processid = "8476" CALL setpriority 32768
ali
wmic postopek, kjer je processid = "8476" CALL setpriority "nad normalno"
Kaj sledi? Ocenite, poskusite, izberite in natančno prilagodite prioritete. Izboljšanje dela storitev in procesov ter dela končnih uporabnikov.