উইন্ডোজ টাস্ক শিডিউলারে অগ্রাধিকার

উইন্ডোজ টাস্ক শিডিউলারে যারা কাজ চালান, তারা আজ হোক কাল হোক অবর্ণনীয় রানটাইম পার্থক্যের সম্মুখীন হবেন। কমান্ড লাইনে ৫ মিনিটে চলে এমন একটি পিএইচপি স্ক্রিপ্ট হঠাৎ করে উইন্ডোজ টাস্ক শিডিউলারের মাধ্যমে এক্সিকিউট করার সময় ২০ মিনিট সময় নেয়। একই ব্যবহারকারী, একই অনুমতি, একই কোড - এক্সিকিউট করার সময় চারগুণ বেশি। কী হচ্ছিল?


ঘন্টার পর ঘন্টা ডিবাগিং, প্রসেস মনিটর সেশন এবং অসংখ্য কনফিগারেশন তুলনার পর, সমাধানটি ভয়ঙ্করভাবে সহজ ছিল: উইন্ডোজ টাস্ক শিডিউলার ডিফল্টভাবে একটি কম প্রক্রিয়া অগ্রাধিকার সেট করে। টাস্ক শিডিউলারে কাজের জন্য ডিফল্ট মান হল 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 (সাধারণত) আমার PHP স্ক্রিপ্টটি প্রত্যাশিত 300 সেকেন্ডের মধ্যে আবার চলে। যদি আপনি একটি নির্দিষ্ট ব্যবহারকারী অ্যাকাউন্ট দিয়ে কাজগুলি কনফিগার করে থাকেন, তাহলে আপনি নীচের লাইন 10-এ এটি সহজেই উল্লেখ করতে পারেন।:

38b7fa6c77dc344401485cd338ea4128

পেছনে