आइए बात करते हैं Windows प्रक्रियाओं की प्राथमिकता . के बारे में . ज्यादातर मामलों में, कस्टम प्रक्रिया प्राथमिकता सेटिंग्स के बारे में सोचने की कोई आवश्यकता नहीं है, लेकिन कभी-कभी एक योग्य सिस्टम व्यवस्थापक सिस्टम को चल रहे कार्यों के बीच प्रोसेसर समय को बेहतर ढंग से आवंटित करने में मदद कर सकता है। इसकी आवश्यकता कब होती है? उदाहरण के लिए एप्लिकेशन सर्वर पर, आप सबसे अधिक संसाधन-महत्वपूर्ण प्रक्रियाओं के रूप में एप्लिकेशन और SQL सर्वर के लिए अधिक CPU समय दे सकते हैं।
आम तौर पर, आप कार्य प्रबंधक का उपयोग करके प्रक्रिया की प्राथमिकता को देख और बदल सकते हैं (someprocess.exe -> प्राथमिकता निर्धारित करें)
विंडोज एनटी/2000/7/2008
विंडोज सर्वर 2012 में, ये सेटिंग्स विवरण टैब पर स्थित हैं।
जैसा कि आप इन स्नैपशॉट से देख सकते हैं, केवल 6 प्राथमिकता प्रकार (जैसा कि बाद में बताया जाएगा, ये प्राथमिकता वर्ग हैं) ) उपलब्ध हैं। क्या यह काफ़ी है? माइक्रोसॉफ्ट सोचता है, यह है। लेकिन आइए बिल गेट्स के उस महाकाव्य को याद करें, जिन्होंने बताया था कि "640 KB RAM सभी के लिए पर्याप्त होगी"। लेकिन समय ने दिखाया है कि यह मामले से बहुत दूर है। :)
अब देखते हैं, यह वास्तव में कैसा दिखता है।
वास्तव में, विंडोज़ में 0 से 31 तक 32 प्राथमिकता स्तर हैं।
उन्हें इस प्रकार समूहीकृत किया गया है:
- 31 — 16 वास्तविक समय के स्तर हैं
- 15 — 1 गतिशील स्तर हैं
- 0 सिस्टम स्तर शून्य-पृष्ठ थ्रेड के लिए आरक्षित है
जब कोई प्रक्रिया बनाई जाती है, तो उसे छह प्राथमिकता वर्गों . में से एक सौंपा जाता है :
- रीयल टाइम क्लास (मान 24),
- उच्च वर्ग (मान 13),
- सामान्य वर्ग से ऊपर (मान 10),
- सामान्य वर्ग (मान 8),
- सामान्य वर्ग से नीचे (मान 6),
- या निष्क्रिय वर्ग (मान 4)।
जैसा कि ऊपर उल्लेख किया गया है, आप कार्य प्रबंधक का उपयोग करके प्रक्रिया प्राथमिकता देख सकते हैं।
नोट . सामान्य से ऊपर और सामान्य से नीचे की प्राथमिकताएं पहली बार विंडोज 2000 में दिखाई दीं।प्रत्येक थ्रेड की प्राथमिकता (मूल थ्रेड प्राथमिकता ) इसकी प्रक्रिया की प्राथमिकता और सापेक्ष प्राथमिकता . से बना है धागे से ही। धागों की सापेक्ष प्राथमिकताएँ सात प्रकार की होती हैं:
- सामान्य:प्रक्रिया के समान ही
- सामान्य से ऊपर:+1 प्रक्रिया की प्राथमिकता के लिए
- सामान्य से नीचे:-1 प्रक्रिया की प्राथमिकता से
- उच्चतम:+2;
- निम्नतम:-2;
- समय महत्वपूर्ण:रीयल टाइम क्लास के लिए थ्रेड की वर्तमान प्राथमिकता 31 और बाकी कक्षाओं के लिए 15 सेट करता है
- निष्क्रिय:रीयल टाइम क्लास के लिए थ्रेड की वर्तमान प्राथमिकता 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. आप संबंधित कुंजियों के साथ START कमांड का उपयोग कर सकते हैं
प्राथमिकताओं के लिए ज़िम्मेदार उपलब्ध कुंजियाँ इस प्रकार हैं (मैं जानबूझकर START . की कुंजियों को छोड़ देता हूँ कमांड, जो वर्णित प्राथमिकताओं को निर्धारित करने की प्रक्रिया से संबंधित नहीं हैं):
C:\>start /?
एक निर्दिष्ट प्रोग्राम या कमांड को चलाने के लिए एक अलग विंडो शुरू करता है।
START [“title”] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /साझा]
[/ कम | /सामान्य | /उच्च | / रीयलटाइम | /असाधारण | /BELOWNORMAL]
[/NODE
[command/program] [पैरामीटर]
कम IDLE प्राथमिकता वर्ग में आवेदन प्रारंभ करें।
सामान्य सामान्य प्राथमिकता वर्ग में आवेदन प्रारंभ करें।
उच्च उच्च प्राथमिकता वर्ग में आवेदन प्रारंभ करें।
वास्तविक समय वास्तविक समय प्राथमिकता वर्ग में आवेदन प्रारंभ करें।
असाधारण ABOVENORMAL प्राथमिकता वर्ग में आवेदन प्रारंभ करें।
BELOWNORMAL BELOWNORMAL प्राथमिकता वर्ग में आवेदन प्रारंभ करें।
जैसा कि हम देख सकते हैं, START कमांड टास्क मैनेजर में उपलब्ध समान 6 प्राथमिकताओं के साथ एक प्रक्रिया को चलाने की अनुमति देता है
विधि नुकसान:
- केवल 6 प्रकार की प्राथमिकताएं उपलब्ध हैं
विधि 3. wmic.exe उपयोगिता का उपयोग करना
जैसा कि ऊपर दिखाया गया है, टास्क मैनेजर और START कमांड प्राथमिकताएं निर्दिष्ट करने में काफी अजीब हैं। आइए देखें कि इसे और अधिक लचीले ढंग से कैसे किया जाए। हम wmic.exe का उपयोग करेंगे ।
कमांड प्रॉम्प्ट:
wmic process where name="AppName" CALL setpriority ProcessIDLevel
उदाहरण:
wmic process where name="calc.exe" CALL setpriority 32768
या
wmic process where name="calc.exe" CALL setpriority "above normal"
प्राथमिकताएं (पूर्व निर्धारित):
- निष्क्रिय:64
- सामान्य से कम:16384
- सामान्य:32
- सामान्य से ऊपर:32768
- उच्च प्राथमिकता:128
- वास्तविक समय:256
आवश्यक जानकारी प्राप्त करने के लिए wmic.exe चलाने का एक छोटा उदाहरण यहां दिया गया है।
इस आदेश का प्रयोग करें:
wmic process list brief
आपको अपने स्थानीय कंप्यूटर पर चलने वाली प्रक्रियाओं की सूची मिल जाएगी। अब यह कमांड चलाएँ:
wmic process list brief | find "cmd.exe"
ये रहा परिणाम:
मैंने cmd.exe की कई प्रतियां जान-बूझकर शुरू की हैं, ताकि इसे और अधिक प्रदर्शनकारी बनाया जा सके।
अब प्रक्रियाओं की सूची उनके नाम पर "cmd.exe" रखने वालों तक सीमित है। प्रक्रिया के पीआईडी पर ध्यान दें।
आइए अब WMI का उपयोग करके आवश्यक प्रक्रियाओं का चयन करने का प्रयास करें। ऐसा करने के लिए, बस दर्ज करें:
wmic process where description='cmd.exe' list brief
ये रहा परिणाम:
परिणामों की तुलना करें। CMD.EXE की PID याद रखें।
wmic.exe शुरू करने के लिए कमांड स्ट्रिंग
wmic process where processid='XXXX' CALL setpriority ProcessIDLevel
अब हम किसी विशिष्ट प्रक्रिया की प्राथमिकता बदल सकते हैं (उदा., PID=8476):
wmic process where processid='8476' CALL setpriority 32768
. पर कॉल करें
या
wmic process where processid='8476' CALL setpriority "above normal"
आगे क्या? अंतिम उपयोगकर्ता अनुभव के साथ-साथ सेवाओं और प्रक्रियाओं के प्रदर्शन को बेहतर बनाने के लिए अपनी प्राथमिकताओं के बारे में सोचें, प्रयास करें, चुनें और प्रबंधित करें।