Առաջնահերթություն Windows-ի առաջադրանքների ժամանակացույցում

Յուրաքանչյուր ոք, ով աշխատում է Windows-ի առաջադրանքների ժամանակացույցում, վաղ թե ուշ կբախվի գործարկման ժամանակի անբացատրելի տարբերություններին: PHP սկրիպտը, որն աշխատում է 5 րոպեում հրամանի տողում, հանկարծակի տևում է 20 րոպե, երբ գործարկվում է Windows Task Scheduler-ի միջոցով: Նույն օգտատերը, նույն իրավունքները, նույն կոդը՝ կատարման ժամանակը չորս անգամ: Ի՞նչ էր կատարվում այնտեղ։


Ժամեր անց Վրիպազերծում, Գործընթացների մոնիտորինգի նիստերը և կազմաձևման անհամար համեմատությունները, լուծումը ցնցող պարզ էր. Windows-ի առաջադրանքների պլանավորումը լռելյայնորեն սահմանում է գործընթացի ավելի ցածր առաջնահերթություն: Task Scheduler-ում առաջադրանքների լռելյայն արժեքն է 7 (Նորմալից ցածր), ոչ 4-6 (Նորմալ), ինչպես կսպասեիք: Այս թվացյալ փոքր տարբերությունը կարող է հանգեցնել I/O ինտենսիվ գործառնությունների կատարողականության զանգվածային կորուստների:

Windows-ի առաջնահերթության մակարդակները մանրամասն ներկայացված են:

ԱրժեքԱռաջնահերթությունՆկարագրություն
0Իրական ժամանակումԱմենաբարձր առաջնահերթություն (զգուշություն!)
1ԲարձրԲարձր առաջնահերթություն
2-3Նորմայից բարձրՆորմալի մասին
4-6ՆորմալՍտանդարտ ինտերակտիվ գործընթացների համար
7Նորմայից ցածրDEFAULT-ը առաջադրանքների ժամանակացույցում
8-9Նորմայից ցածրՆույնիսկ ավելի ցածր
10ԱնգործունԱմենացածր առաջնահերթությունը

Առաջադրանքների ժամանակացույցում առաջնահերթության հետ կապված խնդիրը բազմակողմանի է. Երբ դուք արտահանում եք առաջադրանք և նայում XML-ին, հաճախ կգտնեք ոչ Առաջնահերթության կարգավորում։ Այնուհետև Windows-ը լուռ կօգտագործի լռելյայն արժեքը։ 7. Գրաֆիկական ինտերֆեյսը (GUI) ցուցադրում է այս արժեքը արտահանման ժամանակ, բայց այն հստակորեն չի պահվում առաջադրանքի մեջ։ Ավելի ցածր առաջնահերթությունը ոչ միայն հանգեցնում է պրոցեսորի ժամանակի կրճատման, այլև:

  • Սահմանափակված սկավառակի մուտքի/ելքի գործողություններ
  • Ցանցի ավելի ցածր առաջնահերթություն
  • Ֆայլային համակարգի վատ քեշավորում
  • Տվյալների բազայի մուտքի ուշացումներ

Նույնիսկ եթե դուք օգտագործում եք նույն օգտատիրոջը և միացնում եք «Գործարկել ամենաբարձր արտոնություններով» տարբերակը, առաջադրանքը կատարվում է Windows-ի այլ կայանում/աշխատասեղան միջավայրում՝ տարբեր առաջնահերթություններով: Խնդիրը հայտնաբերելու համար կարող եք օգտագործել PowerShell-ը՝ բոլոր առաջադրանքները իրենց իրական առաջնահերթություններով ցուցակագրելու համար::

38b7fa6c77dc344401485cd338ea4128

Գրեթե բոլոր առաջադրանքներս առաջնահերթությամբ էին ընթանում 7. Մենք այժմ հատուկ կերպով շտկում ենք մի քանի առաջադրանքների առաջնահերթությունը միանգամից:

38b7fa6c77dc344401485cd338ea4128

Առաջնահերթությունը սահմանելուց հետո 4 (Սովորաբար) իմ PHP սկրիպտը նորից աշխատեց սպասված 300 վայրկյանում: Եթե ​​դուք առաջադրանքներ եք կազմաձևել որոշակի օգտվողի հաշվի հետ, կարող եք պարզապես մուտքագրել սա 10-րդ տողում հետևյալ կերպ.:

38b7fa6c77dc344401485cd338ea4128

Վերադառնալ