যে কেউ উইন্ডোজ টাস্ক শিডিউলারে কাজ চালায় তারা তাড়াতাড়ি বা পরে রানটাইমের অবর্ণনীয় পার্থক্যের উপর হোঁচট খাবে। একটি পিএইচপি স্ক্রিপ্ট যা কমান্ড লাইনে 5 মিনিটের মধ্যে চলে হঠাৎ উইন্ডোজ টাস্ক শিডিউলারের মাধ্যমে চালানোর সময় 20 মিনিট সময় নেয়। একই ব্যবহারকারী, একই অধিকার, একই কোড - কার্যকর করার সময় চারগুণ। কি চলছিল সেখানে?
ঘণ্টার পর ঘণ্টা ডিবাগিং, প্রক্রিয়া মনিটর সেশন এবং অগণিত কনফিগারেশন তুলনা, সমাধানটি হতবাকভাবে সহজ ছিল: উইন্ডোজ টাস্ক শিডিউলিং ডিফল্টভাবে একটি নিম্ন প্রক্রিয়া অগ্রাধিকার সেট করে। টাস্ক শিডিউলারে কাজের জন্য ডিফল্ট মান 7 (স্বাভাবিকের নিচে), না 4-6 (স্বাভাবিক), আপনি যেমন আশা করবেন। এই আপাতদৃষ্টিতে ছোট পার্থক্য I/O- নিবিড় অপারেশনগুলিতে ব্যাপক কর্মক্ষমতা ক্ষতির কারণ হতে পারে।
বিস্তারিতভাবে উইন্ডোজ অগ্রাধিকার স্তরগুলি হল:
| মূল্য | অগ্রাধিকার | বর্ণনা |
|---|---|---|
| 0 | রিয়েলটাইম | সর্বোচ্চ অগ্রাধিকার (সাবধান!) |
| 1 | উচ্চ | উচ্চ অগ্রাধিকার |
| 2-3 | স্বাভাবিকের উপরে | নরমাল সম্পর্কে |
| 4-6 | স্বাভাবিক | ইন্টারেক্টিভ প্রক্রিয়ার জন্য স্ট্যান্ডার্ড |
| 7 | স্বাভাবিকের নিচে | টাস্ক শিডিউলারে ডিফল্ট |
| 8-9 | স্বাভাবিকের নিচে | আরও কম |
| 10 | নিষ্ক্রিয় | সর্বনিম্ন অগ্রাধিকার |
টাস্ক শিডিউলিং-এ অগ্রাধিকারের সমস্যাটি বহুমুখী: যখন আপনি একটি টাস্ক এক্সপোর্ট করে XML ফাইলটি দেখবেন, তখন প্রায়শই দেখতে পাবেন না অগ্রাধিকার সেটিং। উইন্ডোজ তখন নীরবে ডিফল্ট মান ব্যবহার করবে 7. এক্সপোর্টের সময় GUI এই মানটি প্রদর্শন করে, কিন্তু এটি টাস্কে স্পষ্টভাবে সংরক্ষণ করা হয় না। কম অগ্রাধিকারের ফলে কেবল CPU সময় কম হয় না, বরং:
- থ্রোটলড ডিস্ক I/O অপারেশন
- কম নেটওয়ার্ক অগ্রাধিকার
- ফাইল সিস্টেম ক্যাশিং খারাপ
- ডাটাবেস অ্যাক্সেসে বিলম্ব
এমনকি যদি আপনি একই ব্যবহারকারী ব্যবহার করেন এবং "সর্বোচ্চ সুবিধা সহ চালান" সক্ষম করেন, তবুও কাজটি ভিন্ন অগ্রাধিকার সহ একটি ভিন্ন উইন্ডোজ স্টেশন/ডেস্কটপ পরিবেশে চলে। সমস্যাটি সনাক্ত করতে, আপনি PowerShell ব্যবহার করে সমস্ত কাজকে তাদের প্রকৃত অগ্রাধিকার সহ তালিকাভুক্ত করতে পারেন।:
38b7fa6c77dc344401485cd338ea4128
আমার প্রায় সব কাজই অগ্রাধিকার ভিত্তিতে সম্পন্ন হয়েছে। 7. আমরা এখন বিশেষভাবে একসাথে বেশ কয়েকটি কাজের অগ্রাধিকার সংশোধন করছি:
38b7fa6c77dc344401485cd338ea4128
অগ্রাধিকার নির্ধারণের পর 4 (সাধারণত) আমার পিএইচপি স্ক্রিপ্ট প্রত্যাশিত 300 সেকেন্ডের মধ্যে আবার দৌড়েছে। আপনি যদি একটি নির্দিষ্ট ব্যবহারকারীর অ্যাকাউন্টের সাথে কাজগুলি কনফিগার করে থাকেন, তাহলে আপনি নিম্নরূপ 10 লাইনে এটি প্রবেশ করতে পারেন:
38b7fa6c77dc344401485cd338ea4128