আসুন উইন্ডোজ প্রক্রিয়াগুলির অগ্রাধিকার সম্পর্কে কথা বলি . বেশিরভাগ ক্ষেত্রে, কাস্টম প্রক্রিয়া অগ্রাধিকার সেটিংস সম্পর্কে চিন্তা করার দরকার নেই, তবে কখনও কখনও একজন যোগ্যতাসম্পন্ন সিস্টেম প্রশাসক একটি সিস্টেমকে চলমান কাজের মধ্যে প্রসেসরের সময় আরও ভালভাবে বরাদ্দ করতে সহায়তা করতে পারেন। এটা কখন প্রয়োজন? উদাহরণস্বরূপ, অ্যাপ্লিকেশন সার্ভারে, আপনি সর্বাধিক সম্পদ-সমালোচনামূলক প্রক্রিয়া হিসাবে অ্যাপ্লিকেশন এবং SQL সার্ভারের জন্য আরও CPU সময় দিতে পারেন।
সাধারণত, আপনি টাস্ক ম্যানেজার ব্যবহার করে প্রক্রিয়াটির অগ্রাধিকার দেখতে এবং পরিবর্তন করতে পারেন (someprocess.exe -> অগ্রাধিকার সেট করুন)
Windows NT/2000/7/2008
Windows Server 2012-এ, এই সেটিংসগুলি বিস্তারিত ট্যাবে অবস্থিত৷
৷
আপনি এই স্ন্যাপশটগুলি থেকে দেখতে পাচ্ছেন, শুধুমাত্র 6টি অগ্রাধিকার প্রকার (যেমন এটি পরে ব্যাখ্যা করা হবে, এইগুলি হল অগ্রাধিকার শ্রেণী ) সহজ প্রাপ্য. এটা কি যথেষ্ট? মাইক্রোসফট মনে করে, এটা. তবে আসুন বিল গেটসের মহাকাব্যের কথাটি মনে রাখা যাক, যিনি বলেছিলেন যে "সবার জন্য 640 KB RAM যথেষ্ট হবে"। কিন্তু সময় দেখিয়েছে যে এটি মামলা থেকে অনেক দূরে। :)
এখন দেখা যাক, এটা আসলে দেখতে কেমন।
আসলে, উইন্ডোজে 32টি অগ্রাধিকার স্তর রয়েছে, 0 থেকে 31 পর্যন্ত৷
সেগুলি নিম্নরূপ গোষ্ঠীবদ্ধ:
- 31 - 16 রিয়েল টাইম লেভেল
- 15 — 1 ডাইনামিক লেভেল
- 0 শূন্য-পৃষ্ঠা থ্রেডের জন্য সংরক্ষিত একটি সিস্টেম স্তর
যখন একটি প্রক্রিয়া তৈরি করা হয়, তখন এটি ছয়টি অগ্রাধিকার শ্রেণির মধ্যে একটি বরাদ্দ করা হয় :
- রিয়েল টাইম ক্লাস (মান 24),
- উচ্চ শ্রেণী (মান ১৩),
- সাধারণ শ্রেণীর উপরে (মান 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. একটি টাস্ক/প্রক্রিয়া শুরু করুন এবং টাস্ক ম্যানেজার ব্যবহার করে এর অগ্রাধিকার পরিবর্তন করুন
পদ্ধতির অসুবিধা:
- শুধুমাত্র ৬ ধরনের অগ্রাধিকার পাওয়া যায়
- অগ্রাধিকার হল আপনার মাউস দিয়ে পরিবর্তন করা এবং আপনি এটি স্বয়ংক্রিয় করতে পারবেন না।
পদ্ধতি 2. আপনি সংশ্লিষ্ট কীগুলির সাথে START কমান্ড ব্যবহার করতে পারেন
অগ্রাধিকারের জন্য দায়ী উপলব্ধ কীগুলি নিম্নরূপ (আমি ইচ্ছাকৃতভাবে START-এর কীগুলি বাদ দিয়েছি কমান্ড, যা বর্ণনা করা অগ্রাধিকার নির্ধারণের প্রক্রিয়ার সাথে সম্পর্কিত নয়):
C:\>start /?
একটি নির্দিষ্ট প্রোগ্রাম বা কমান্ড চালানোর জন্য একটি পৃথক উইন্ডো শুরু করে।
শুরু করুন [“শিরোনাম”] [/D পথ] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
নিম্ন আইডিএল অগ্রাধিকার শ্রেণীতে আবেদন শুরু করুন।
সাধারণ স্বাভাবিক অগ্রাধিকার শ্রেণীতে আবেদন শুরু করুন।
হাই উচ্চ অগ্রাধিকার শ্রেণীতে আবেদন শুরু করুন।
REALTIME রিয়েলটাইম অগ্রাধিকার শ্রেণীতে আবেদন শুরু করুন।
উপরে ABOVENORMAL অগ্রাধিকার শ্রেণীতে আবেদন শুরু করুন।
BELOWNORMAL নীচের অগ্রাধিকার শ্রেণীতে আবেদন শুরু করুন৷৷
আমরা দেখতে পাচ্ছি, START কমান্ড টাস্ক ম্যানেজারে উপলব্ধ একই 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"
তারপর কি? শেষ ব্যবহারকারীর অভিজ্ঞতার সাথে একত্রে পরিষেবা এবং প্রক্রিয়াগুলির কার্যকারিতা উন্নত করতে আপনার অগ্রাধিকারগুলি চিন্তা করুন, চেষ্টা করুন, নির্বাচন করুন এবং পরিচালনা করুন৷