Beszéljünk A Windows folyamat prioritásai. A legtöbb esetben nem kell „játszani” a prioritások meghatározásával, de néha az illetékes rendszergazda segíthet a rendszeren a processzor idejének jobb elosztása a futó feladatok között. Nincs egyetlen recept, de a "kiválasztás és felsorolás" révén ez nagyon megvalósítható. Hol lehet erre? Például egy 1C-SQL csomóban több processzoridőt adhat az 1C-nek és az SQL-nek, mint a legkritikusabb folyamatok az erőforrások számára.
Általában megtekintheti és módosíthatja a futó folyamat prioritását a Feladatkezelőn keresztül
A windows NT / 2000 /7/ 2008
A Windows 2012 rendszerben kicsit mélyebben "eltemették"
A fenti példákból látható, hogy csak 6 prioritás áll rendelkezésre (amint később kiderül, ez prioritási osztályok). Elég? A Microsoft szerint igen. De emlékezzünk vissza Bill Geist „legendás” mondatára, amely szerint „640 KB RAM mindenki számára elegendő lesz.” Az idő azonban megmutatta, hogy ez messze nem a helyzet. :)
Most lássuk, hogy van valójában.
Valójában a Windowsban 32 prioritási szint van, 0-tól 31-ig.
Az alábbiak szerint vannak csoportosítva:
- 31-16 valós idejű szintek;
- 15 - 1 dinamikus szintek;
- 0 - rendszerszint fenntartva a nulla oldalas szál számára.
A folyamat létrehozásakor a hat egyike lesz hozzárendelve prioritási osztályok:
- Valósidejű osztály (24. érték),
- Magas osztály (13. érték),
- Normál osztály felett (10. érték),
- Normál osztály (8. érték),
- Normál osztály alatt (6. érték),
- vagy alapjárati osztály (4. érték).
A Task Manager segítségével láthatja a folyamat prioritását..
megjegyzés: A normál feletti és a normál feletti prioritások a Windows 2000 óta jelentek meg.Az egyes szálak prioritása (alapszál prioritás) a folyamat prioritásáról és relatív prioritás maga az áramlás. Hét relatív szál prioritás van:
- Normál: ugyanaz, mint a folyamat;
- Normál felett: +1 a prioritás feldolgozásához;
- Normál alatt: -1;
- Legmagasabb: +2;
- Legalacsonyabb: -2;
- Időkritikus: a valós idejű osztály folyamának alapvető prioritását 31-re, más osztályokra 15-re állítja.
- Alapjárat: a valósidejű osztály folyamának alapvető prioritását 16-ra, más osztályokra pedig 1-re állítja.
Az alábbi táblázat bemutatja a folyamat prioritásait, a relatív és az alapvető szál prioritásokat..
Áramlási prioritás | Folyamat osztály | Folyamat osztály | |||||
Alapjárat | Normál osztály alatt | Normál osztály | Normál osztály felett | Magas osztály | Valós idejű osztály | ||
1 | tétlen | tétlen | tétlen | tétlen | tétlen | ||
2 | A legalacsonyabb | ||||||
3 | Alább ... | ||||||
4 | Alapjárat | normális | A legalacsonyabb | ||||
5 | Fent ... | Alább ... | |||||
6 | Normál osztály alatt | legmagasabb | normális | A legalacsonyabb | |||
7 | Fent ... | Alább ... | |||||
8 | Normál osztály | legmagasabb | normális | A legalacsonyabb | |||
9 | Fent ... | Alább ... | |||||
10 | Normál osztály felett | legmagasabb | normális | ||||
11 | Fent ... | A legalacsonyabb | |||||
12 | legmagasabb | Alább ... | |||||
13 | Magas osztály | normális | |||||
14 | Fent ... | ||||||
15 | legmagasabb | ||||||
15 | Időkritikus | Időkritikus | Időkritikus | Időkritikus | Időkritikus | ||
16 | tétlen | ||||||
17 | |||||||
18 | |||||||
19 | |||||||
20 | |||||||
21 | |||||||
22 | A legalacsonyabb | ||||||
23 | Alább ... | ||||||
24 | Valós idejű osztály | normális | |||||
25 | Fent ... | ||||||
26 | legmagasabb | ||||||
27 | |||||||
28 | |||||||
29 | |||||||
30 | |||||||
31 | Időkritikus |
Most, hogy mindannyian megtanultuk ezt, mit tehetünk mindezzel? Nos, például kezdje el használni.
Hogyan lehet elindítani a folyamatot egy "nem szabványos" prioritással vagy változással?
1. módszer: Futtassa a feladatot / folyamatot, és módosítsa a prioritást a Feladatkezelőn.
A módszer hátrányai:
- Csak 6 prioritás áll rendelkezésre
- A prioritásváltás az egérrel történik, nem automatizált.
2. módszer. A START parancsot használhatja a megfelelő gombokkal
A rendelkezésre álló prioritási kulcsok a következők (szándékosan elhagyom a parancs parancssori beállításait) START nem kapcsolódik a prioritásokkal kapcsolatos munka leírt folyamatához):
C: \> start /?
Elindít egy külön ablakot egy megadott program vagy parancs futtatásához.
KEZDÉS ["cím"] [/ D útvonal] [/ I] [/ MIN] [/ MAX] [/ SEPARATE | / MEGOSZTOTT]
[/ LOW | / NORMÁL | / MAGAS | / REALIME | / ABOVENORMAL | / BELOWNORMAL]
[/ NODE] [/ AFFINITY] [/ WAIT] [/ B]
[parancs / program] [paraméterek]
LOW Indítsa el az alkalmazást az IDLE prioritási osztályban.
NORMAL Indítsa el az alkalmazást a NORMAL prioritási osztályban.
HIGH Indítsa el az alkalmazást a MAGAS prioritási osztályban.
REALTIME Indítsa el az alkalmazást a REALTIME prioritási osztályban.
ABOVENORMAL Indítsa el az alkalmazást az ABOVENORMAL prioritási osztályban.
belownormal Indítsa el az alkalmazást a BELOWNORMAL prioritási osztályban.
Mint láthatja, a START parancs lehetővé teszi a folyamat elindítását ugyanazon 6 prioritással, amelyek a Feladatkezelőn keresztül érhetők el
Módszer mínusz:
- Csak 6 prioritás áll rendelkezésre
3. módszer. A wmic.exe segédprogram használata
Mint fentebb látható, a Feladatkezelő és a START parancs elég ügyetlen ahhoz, hogy prioritássá tegye a feladatot. Lássuk, hogyan lehet rugalmasabban alkalmazni. Mi fogjuk használni a segédprogramot Wmic.exe.
Parancssor:
wmic folyamat, ahol name = "AppName" CALL setpriority ProcessIDLevel
Példa:
wmic folyamat, ahol name = "calc.exe" CALL setpriority 32768
vagy
wmic folyamat, ahol name = "calc.exe" CALL beállítási prioritás "normál felett"
Prioritások (előre meghatározott):
- alapjáraton: 64
- normál alatt: 16384
- normál: 32
- normál feletti: 32768
- kiemelt prioritás: 128
- valós idő: 256
Íme egy rövid példa a wmic.exe futtatásához a szükséges információk beszerzéséhez
A következő parancsot használjuk:
wmic folyamatlista rövid
Kap egy listát a helyi számítógépen futó folyamatokról. Most futtasd a parancsot:
wmic folyamatlista rövid | "cmd.exe" keresése
Eredmény:
Kifejezetten a cmd.exe több példányát indította el, hogy az ábra teljesebb legyen.
Most a folyamatok listája csak azokra a folyamatokra korlátozódik, amelyek a futtatható modul nevében vannak, amelyeknek a "cmd.exe" sor található. Vegye figyelembe a folyamat (ok) PID-jét.
Most próbáljuk meg kiválasztani a számunkra érdeklődő folyamatokat, közvetlenül a WMI használatával és a szokásos parancssori eszközök igénybevétele nélkül. Ehhez egyszerűen írjon:
wmic folyamat, ahol a description = "cmd.exe" lista rövid
Eredmény:
Hasonlítsa össze az eredményeket. Ne feledje a CMD.EXE folyamat PID-jét.
Parancssor a wmic.exe elindításához
wmic folyamat, ahol processid = "XXXX" CALL setpriority ProcessIDLevel
Nos, most megváltoztathatjuk egy adott folyamat prioritását (például PID = 8476 esetén):
wmic folyamat, ahol processid = "8476" CALL setpriority 32768
vagy
wmic folyamat, ahol processid = "8476" CALL beállítási prioritás "normál felett"
Mi lesz a következő? Becsülje meg, próbálja ki, válassza ki és finoman állítsa be a prioritásokat. A szolgáltatások és folyamatok, valamint a végfelhasználók munkájának javítása.