কম্পিউটার টিউটোরিয়াল

উইন্ডোজে প্রসেস প্রায়রিটি ম্যানেজমেন্ট

চলুন উইন্ডোজ প্রসেস প্রায়রিটি সম্পর্কে কথা বলি। অধিকাংশ কেসে, কাস্টম প্রসেস প্রায়রিটি সেটিংস সম্পর্কে চিন্তা করার প্রয়োজন হয় না, কিন্তু কখনো কখনো একজন যোগ্য সিস্টেম অ্যাডমিনিস্ট্রেটর চলমান টাস্কগুলোর মধ্যে প্রসেসর টাইম বিতরণে সিস্টেমকে সাহায্য করতে পারেন। এটি কখন দরকার? উদাহরণস্বরূপ, অ্যাপ্লিকেশন সার্ভারে, আপনি অ্যাপ্লিকেশন এবং SQL সার্ভারের জন্য বেশি CPU টাইম দিতে পারেন, কারণ এগুলো সবচেয়ে রিসোর্স-ক্রিটিক্যাল প্রসেস।

সাধারণত, আপনি Task Manager ব্যবহার করে প্রসেস প্রায়রিটি দেখতে এবং পরিবর্তন করতে পারেন (someprocess.exe -> Set Priority)

Windows NT/2000/7/2008

উইন্ডোজ সার্ভার ২০১২-এ, এই সেটিংস Details ট্যাবে থাকে।

এই স্ক্রিনশটগুলো থেকে দেখা যাচ্ছে, শুধু ৬টি প্রায়রিটি টাইপ উপলব্ধ (যেমন পরে ব্যাখ্যা করা হবে, এগুলো হলো প্রায়রিটি ক্লাস)। কি এটি যথেষ্ট? মাইক্রোসফট মনে করে, হ্যাঁ। কিন্তু বিল গেটসের এক বিখ্যাত উক্তি মনে করুন, যিনি বলেছিলেন “640 KB of RAM will be enough for everybody”। কিন্তু সময় সেটা ভুল প্রমাণ করেছে। : )

আসলে কি ঘটে, তা দেখি।

বাস্তবে, উইন্ডোজে ৩২টি প্রায়রিটি লেভেল আছে, ০ থেকে ৩১ পর্যন্ত।

এগুলো নিচেরভাবে গ্রুপ করা হয়েছে:

  1. 31 — 16 রিয়েল টাইম লেভেল
  2. 15 — 1 ডাইনামিক লেভেল
  3. 0 হলো সিস্টেম লেভেল যা জিরো-পেজ থ্রেডের জন্য রিজার্ভড

যখন একটি প্রসেস তৈরি হয়, তবে এটিকে ছয়টি প্রায়রিটি ক্লাস-এর একটি অ্যাসাইন করা হয়:

  1. Real time class (মান ২৪),
  2. High class (মান ১৩),
  3. Above normal class (মান ১০),
  4. Normal class (মান ৮),
  5. Below normal class (মান ৬),
  6. বা Idle class (মান ৪)।

উপরোক্তে বলা হয়েছে, Task Manager ব্যবহার করে প্রসেস প্রায়রিটি দেখা যায়।

নোট। Above normal এবং Below normal প্রায়রিটি প্রথমে উইন্ডোজ ২০০০-এ যোগ হয়েছিল।

প্রতিটি থ্রেডের প্রায়রিটি (বেসিক থ্রেড প্রায়রিটি) এর প্রসেসের প্রায়রিটি এবং থ্রেডের নিজস্ব রিলেটিভ প্রায়রিটি-র সমষ্টি। থ্রেডের রিলেটিভ প্রায়রিটির সাত ধরন আছে:

  • Normal: প্রসেসের মতোই
  • Above normal: প্রসেস প্রায়রিটির সাথে +1
  • Below normal: প্রসেস প্রায়রিটির থেকে -1
  • Highest: +2;
  • Lowest: -2;
  • Time critical: রিয়েল টাইম ক্লাসের জন্য কারেন্ট থ্রেড প্রায়রিটি ৩১ সেট করে, এবং বাকি ক্লাসের জন্য ১৫
  • Idle: রিয়েল টাইম ক্লাসের জন্য কারেন্ট থ্রেড প্রায়রিটি ১৬ সেট করে, এবং বাকি ক্লাসের জন্য ১

নিচের টেবিলে প্রসেস প্রায়রিটি, রিলেটিভ এবং কারেন্ট থ্রেড প্রায়রিটি দেখানো হয়েছে।

Thread PriorityProcess ClassProcess Class
Idle classBelow normal classNormal classAbove normal classHigh classReal time class
1IdleIdleIdleIdleIdle
2Lowest
3Below …
4Idle class NormalLowest
5Above …Below …
6Below normal class HighestNormalLowest
7Above …Below …
8Normal class HighestNormalLowest
9Above …Below …
10Above normal class HighestNormal
11Above …Lowest
12HighestBelow …
13High class Normal
14Above …
15Highest
15Time criticalTime criticalTime criticalTime criticalTime critical
16Idle
17
18
19
20
21
22Lowest
23Below …
24Real time class Normal
25Above …
26Highest
27
28
29
30
31Time 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
নোট। যদি একই নামে একাধিক প্রসেস থাকে তবে কী করবেন? প্রসেসের প্রায়রিটি এর নাম এবং PID (Process ID) দিয়ে উভয়েই পরিবর্তন করা যায়।

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"

এখন কী? চিন্তা করুন, চেষ্টা করুন, সিলেক্ট করুন এবং আপনার প্রায়রিটি ম্যানেজ করুন সার্ভিস এবং প্রসেসের পারফরম্যান্স উন্নত করতে, এন্ড ইউজার এক্সপেরিয়েন্সের সাথে মিলিয়ে।

  1. Windows 10-এ প্রসেস টার্মিনেট করার ৩টি প্রমাণিত পদ্ধতি

  2. উইন্ডোজ ১০ কালার ম্যানেজমেন্ট মাস্টার করুন: চূড়ান্ত গাইড

  3. উইন্ডোজ ১০-এ অ্যাপ্লিকেশনের সিপিইউ প্রায়রিটি ঠিক করুন: ধাপে ধাপে গাইড

  4. Windows 10 এবং 11-এ Disk Management খোলার ৫টি সহজ পদ্ধতি