চলুন উইন্ডোজ প্রসেস প্রায়রিটি সম্পর্কে কথা বলি। অধিকাংশ কেসে, কাস্টম প্রসেস প্রায়রিটি সেটিংস সম্পর্কে চিন্তা করার প্রয়োজন হয় না, কিন্তু কখনো কখনো একজন যোগ্য সিস্টেম অ্যাডমিনিস্ট্রেটর চলমান টাস্কগুলোর মধ্যে প্রসেসর টাইম বিতরণে সিস্টেমকে সাহায্য করতে পারেন। এটি কখন দরকার? উদাহরণস্বরূপ, অ্যাপ্লিকেশন সার্ভারে, আপনি অ্যাপ্লিকেশন এবং SQL সার্ভারের জন্য বেশি CPU টাইম দিতে পারেন, কারণ এগুলো সবচেয়ে রিসোর্স-ক্রিটিক্যাল প্রসেস।
সাধারণত, আপনি Task Manager ব্যবহার করে প্রসেস প্রায়রিটি দেখতে এবং পরিবর্তন করতে পারেন (someprocess.exe -> Set Priority)
Windows NT/2000/7/2008
উইন্ডোজ সার্ভার ২০১২-এ, এই সেটিংস Details ট্যাবে থাকে।
এই স্ক্রিনশটগুলো থেকে দেখা যাচ্ছে, শুধু ৬টি প্রায়রিটি টাইপ উপলব্ধ (যেমন পরে ব্যাখ্যা করা হবে, এগুলো হলো প্রায়রিটি ক্লাস)। কি এটি যথেষ্ট? মাইক্রোসফট মনে করে, হ্যাঁ। কিন্তু বিল গেটসের এক বিখ্যাত উক্তি মনে করুন, যিনি বলেছিলেন “640 KB of RAM will be enough for everybody”। কিন্তু সময় সেটা ভুল প্রমাণ করেছে। : )
আসলে কি ঘটে, তা দেখি।
বাস্তবে, উইন্ডোজে ৩২টি প্রায়রিটি লেভেল আছে, ০ থেকে ৩১ পর্যন্ত।
এগুলো নিচেরভাবে গ্রুপ করা হয়েছে:
- 31 — 16 রিয়েল টাইম লেভেল
- 15 — 1 ডাইনামিক লেভেল
- 0 হলো সিস্টেম লেভেল যা জিরো-পেজ থ্রেডের জন্য রিজার্ভড
যখন একটি প্রসেস তৈরি হয়, তবে এটিকে ছয়টি প্রায়রিটি ক্লাস-এর একটি অ্যাসাইন করা হয়:
- Real time class (মান ২৪),
- High class (মান ১৩),
- Above normal class (মান ১০),
- Normal class (মান ৮),
- Below normal class (মান ৬),
- বা Idle class (মান ৪)।
উপরোক্তে বলা হয়েছে, Task Manager ব্যবহার করে প্রসেস প্রায়রিটি দেখা যায়।
নোট। Above normal এবং Below normal প্রায়রিটি প্রথমে উইন্ডোজ ২০০০-এ যোগ হয়েছিল।প্রতিটি থ্রেডের প্রায়রিটি (বেসিক থ্রেড প্রায়রিটি) এর প্রসেসের প্রায়রিটি এবং থ্রেডের নিজস্ব রিলেটিভ প্রায়রিটি-র সমষ্টি। থ্রেডের রিলেটিভ প্রায়রিটির সাত ধরন আছে:
- Normal: প্রসেসের মতোই
- Above normal: প্রসেস প্রায়রিটির সাথে +1
- Below normal: প্রসেস প্রায়রিটির থেকে -1
- Highest: +2;
- Lowest: -2;
- Time critical: রিয়েল টাইম ক্লাসের জন্য কারেন্ট থ্রেড প্রায়রিটি ৩১ সেট করে, এবং বাকি ক্লাসের জন্য ১৫
- Idle: রিয়েল টাইম ক্লাসের জন্য কারেন্ট থ্রেড প্রায়রিটি ১৬ সেট করে, এবং বাকি ক্লাসের জন্য ১
নিচের টেবিলে প্রসেস প্রায়রিটি, রিলেটিভ এবং কারেন্ট থ্রেড প্রায়রিটি দেখানো হয়েছে।
| Thread Priority | Process Class | Process Class | |||||
|---|---|---|---|---|---|---|---|
| Idle class | Below normal class | Normal class | Above normal class | High class | Real time class | ||
| 1 | Idle | Idle | Idle | Idle | Idle | ||
| 2 | Lowest | ||||||
| 3 | Below … | ||||||
| 4 | Idle class | Normal | Lowest | ||||
| 5 | Above … | Below … | |||||
| 6 | Below normal class | Highest | Normal | Lowest | |||
| 7 | Above … | Below … | |||||
| 8 | Normal class | Highest | Normal | Lowest | |||
| 9 | Above … | Below … | |||||
| 10 | Above normal class | Highest | Normal | ||||
| 11 | Above … | Lowest | |||||
| 12 | Highest | Below … | |||||
| 13 | High class | Normal | |||||
| 14 | Above … | ||||||
| 15 | Highest | ||||||
| 15 | Time critical | Time critical | Time critical | Time critical | Time critical | ||
| 16 | Idle | ||||||
| 17 | |||||||
| 18 | |||||||
| 19 | |||||||
| 20 | |||||||
| 21 | |||||||
| 22 | Lowest | ||||||
| 23 | Below … | ||||||
| 24 | Real time class | Normal | |||||
| 25 | Above … | ||||||
| 26 | Highest | ||||||
| 27 | |||||||
| 28 | |||||||
| 29 | |||||||
| 30 | |||||||
| 31 | Time critical | ||||||
অনিস্ট্যান্ডার্ড প্রায়রিটিতে একটি প্রসেস শুরু করা বা পরিবর্তন করা কিভাবে?
পদ্ধতি ১. Task Manager ব্যবহার করে টাস্ক/প্রসেস শুরু করা এবং প্রায়রিটি পরিবর্তন করা
পদ্ধতির অসুবিধা:
- শুধু ৬ ধরনের প্রায়রিটি উপলব্ধ
- মাউস দিয়ে প্রায়রিটি পরিবর্তন করা হয়, এটি অটোমেটিক করা যায় না।
পদ্ধতি ২. সংশ্লিষ্ট কীসহ START কমান্ড ব্যবহার করা
প্রায়রিটির জন্য দায়বদ্ধ উপলব্ধ কীগুলো নিচে (আমি যাচ্ছাই START কমান্ডের অন্য কীগুলো বাদ দিচ্ছি যেগুলো প্রায়রিটি সেটিংস বর্ণনার সাথে সম্পর্কিত নয়):
C:\>start /?
Starts a separate window to run a specified program or command.
START [“title”] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
LOW Start application in the IDLE priority class.
NORMAL Start application in the NORMAL priority class.
HIGH Start application in the HIGH priority class.
REALTIME Start application in the REALTIME priority class.
ABOVENORMAL Start application in the ABOVENORMAL priority class.
BELOWNORMAL Start application in the BELOWNORMAL priority class.
দেখা যাচ্ছে, START কমান্ডও Task Manager-এ উপলব্ধ একই ৬টি প্রায়রিটি দিয়ে প্রসেস শুরু করতে দেয়।
পদ্ধতির অসুবিধা:
- শুধু ৬ ধরনের প্রায়রিটি উপলব্ধ
পদ্ধতি ৩. wmic.exe ইউটিলিটি ব্যবহার করা
উপরোক্তে দেখা গেল, Task Manager এবং 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"
প্রায়রিটি (প্রিসেট):
- idle: 64
- below normal: 16384
- normal: 32
- above normal: 32768
- high priority: 128
- real time: 256
wmic.exe চালানোর একটি ছোট উদাহরণ।
এই কমান্ড ব্যবহার করুন:
wmic process list brief
আপনার লোকাল কম্পিউটারে চলমান প্রসেসের তালিকা পাবেন। এখন এই কমান্ড চালান:
wmic process list brief | find "cmd.exe"
ফলাফল:

আমি সচেতনভাবে cmd.exe-এর বেশ কয়েক কপি শুরু করলাম, যাতে এটি আরও স্পষ্ট হয়।
এখন প্রসেস তালিকা শুধু যাদের নামে “cmd.exe” আছে সেগুলোতে সীমাবদ্ধ। প্রসেসের PID-তে মনোযোগ দিন।
এখন 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"
এখন কী? চিন্তা করুন, চেষ্টা করুন, সিলেক্ট করুন এবং আপনার প্রায়রিটি ম্যানেজ করুন সার্ভিস এবং প্রসেসের পারফরম্যান্স উন্নত করতে, এন্ড ইউজার এক্সপেরিয়েন্সের সাথে মিলিয়ে।