Управљање приоритетима процеса у Виндовс-у

Хајде да разговарамо Приоритети за Виндовс процесе. У већини случајева нема потребе да се „играте“ са постављањем приоритета, али понекад, компетентни администратор система може помоћи систему да исправније распореди време процесора између извршених задатака. Нема јединственог рецепта, али кроз „селекцију и набрајање“ то је сасвим изводљиво. Где то може бити потребно? На пример, у гомили 1Ц-СКЛ-а можете дати више процесора времена 1Ц и СКЛ, као најкритичнијих процеса за ресурсе.

Опћенито, приоритет текућег процеса можете прегледати и промијенити преко Управитеља задатака

Виндовс НТ / 2000 /7/ 2008

У Виндовс-у 2012 "закопан" је мало дубље

Као што видите из горњих примера, доступно вам је само 6 приоритета (како се касније испоставило, ово) приоритетне класе) Доста? Мицрософт мисли да. Али подсетимо се "легендарне" фразе Била Геиста, која је говорила да ће "640 КБ РАМ-а бити довољно за све." Али време је показало да је то далеко од случаја. :)

Сада да видимо како је то заправо.

Заправо, у систему Виндовс постоје 32 нивоа приоритета, од 0 до 31.

Груписани су овако:

  • 31 - 16 нивои у реалном времену;
  • 15 - 1 динамички нивои;
  • 0 - системски ниво резервисан за нит нулте странице.

При креирању процеса додјељује се један од шест приоритетне класе:

  1. Класа у реалном времену (вредност 24),
  2. Висока класа (вредност 13),
  3. Изнад нормалне класе (вредност 10),
  4. Нормална класа (вредност 8),
  5. Испод нормалне класе (вредност 6),
  6. или класа мировања (вредност 4).

Можете видети приоритет процеса помоћу Управитеља задатака..

Напомена: Приоритети изнад нормалног и испод нормалног појављују се од Виндовс 2000.

Приоритет сваке нити (основни приоритет нити) састоји се од приоритета његовог процеса и релативни приоритет сам ток. Постоји седам релативних приоритета нити:

  1. Нормално: исто као и поступак;
  2. Изнад нормалног: +1 за обраду приоритета;
  3. Испод нормалног: -1;
  4. Највиши: +2;
  5. Најнижа: -2;
  6. Временско критично: поставља основни приоритет тока за реалну класу времена на 31, за остале класе на 15.
  7. Идле: поставља основни приоритет тока за реалну класу на 16, за остале класе 1.

Следећа табела приказује приоритете процеса, релативне и основне приоритете нити..

Приоритет протокаПроцесна класаПроцесна класа
Идле класеИспод нормалне класеНормална класаИзнад нормалне класеВисока класаКласа у реалном времену
1СлободноСлободноСлободноСлободноСлободно
2Најнижи
3Испод ...
4Идле класе НормалноНајнижи
5Изнад ... Испод ...
6Испод нормалне класе НајвишиНормалноНајнижи
7Изнад ... Испод ...
8Нормална класа НајвишиНормалноНајнижи
9Изнад ... Испод ...
10Изнад нормалне класе НајвишиНормално
11Изнад ... Најнижи
12НајвишиИспод ...
13Висока класа Нормално
14Изнад ...
15Највиши
15Време је критичноВреме је критичноВреме је критичноВреме је критичноВреме је критично
16Слободно
17
18
19
20
21
22Најнижи
23Испод ...
24Класа у реалном времену Нормално
25Изнад ...
26Највиши
27
28
29тх
30
31Време је критично

Сада када смо све ово научили, шта ми у вези с тим можемо учинити? Па, на пример, почните да користите.

Како другачије можете покренути поступак са "нестандардним" приоритетом или променом?

Метода 1. Покрените задатак / поступак и промените приоритет путем Управитеља задатака.

Против методе:

  • Доступно је само 6 приоритета
  • Приоритетно пребацивање се врши мишем, није аутоматизовано.

Метода 2. Можете користити наредбу СТАРТ одговарајућим тастерима

Доступни кључеви приоритета су сљедећи (намјерно изостављам опције наредбеног ретка наредбе СТАРТ није повезано са описаним процесом рада са приоритетима):

Ц: \> старт /?
Покреће посебан прозор за покретање одређеног програма или наредбе.
СТАРТ ["титле"] [/ Д патх] [/ И] [/ МИН] [/ МАКС] [/ СЕПАРАТЕ | / СХАРЕД]
[/ ЛОВ | / НОРМАЛ | / ХИГХ | / РЕАЛТИМЕ | / АБОВЕНОРМАЛ | / БЕОГОРМАЛ]
[/ НОДЕ] [/ АФФИНИТИ] [/ ВАИТ] [/ Б]
[команда / програм] [параметри]
Ниска       Покрените апликацију у примарној класи ИДЛЕ.
Нормално     Покрените апликацију у НОРМАЛ класи приоритета.
Високо       Покрените апликацију у ВИСОКО приоритетној класи.
РЕАЛТИМЕ   Покрените апликацију у РЕАЛТИМЕ приоритетној класи.
АБОВЕНОРМАЛ Започните примјену у АБОВЕНОРМАЛ приоритетној класи.
ИСПОРУКА Покрените пријаву у БЕЛОВНОРМАЛ приоритетној класи.

Као што видите, наредба СТАРТ омогућава започињање процеса са истим 6 приоритета који су доступни преко Управитеља задатака

Метода минус:

  • Доступно је само 6 приоритета

Метода 3. Коришћење услужног програма вмиц.еке

Као што је приказано горе, управитељ задатака и наредба СТАРТ довољно су неспретни за задатак давања приоритета. Да видимо како да то флексибилније применимо. Користићемо услужни програм вмиц.еке.

Команда:

вмиц процес где наме = "АппНаме" ЦАЛЛ сетприорити ПроцессИДЛевел

Пример:

вмиц процес где наме = "цалц.еке" ЦАЛЛ сетприорити 32768

или

вмиц процес где наме = "цалц.еке" ЦАЛЛ сетприорити "изнад нормалног"

Приоритети (унапред дефинисани):

  • мировање: 64
  • испод нормале: 16384
  • нормално: 32
  • изнад нормалног: 32768
  • високи приоритет: 128
  • реално време: 256
Повлачење. Шта ако постоји неколико процеса истог назива? Приоритет процеса може се променити и именом имена процеса, и коришћењем ПИД (ИД процеса) процеса.

Ево кратког примера покретања вмиц.еке да бисте добили потребне информације

Користимо команду:

списак вмиц процеса кратак

Напомена: Нећу дати пример извршења ове наредбе. Добива се превелика листа процеса. По жељи урадите и сами.

Добићете листу процеса који се покрећу на вашем локалном рачунару. Сада покрените команду:

кратак списак вмиц процеса | финд "цмд.еке"

Резултат:

Посебно је лансирано неколико копија цмд.еке, тако да је илустрација била потпунија.

Сада је листа процеса ограничена само на оне процесе у имену извршног модула од којих постоји линија "цмд.еке". Обратите пажњу на ПИД процеса.

Сада покушајмо да одаберемо процесе који нас занимају, користећи директно ВМИ и без прибегавања стандардним алатима командне линије. Да бисте то учинили, једноставно напишите:

вмиц поступак где је опис = "цмд.еке" кратак

Резултат:

Упоредите резултате. Запамтите ПИД процеса ЦМД.ЕКСЕ.

Командна линија за покретање вмиц.еке

вмиц процес где процессид = "КСКСКСКС" ЦАЛЛ сетприорити ПроцессИДЛевел

Па, сада можемо променити приоритет одређеног процеса (на пример, са ПИД = 8476):

вмиц процес где процессид = "8476" ЦАЛЛ сетприорити 32768

или

вмиц процес где процессид = "8476" ЦАЛЛ сетприорити "изнад нормалног"

Шта је следеће? Процените, покушајте, изаберите и фино прилагодите приоритете. Побољшање рада услуга и процеса, као и рада крајњих корисника.