টাস্ক-ম্যানেজারে অগ্রাধিকারগুলি কীভাবে কাজ করে এবং কখন / কখন এটি সেট করা উচিত নয়?


30

এটি আসলে কী ঘটে তা দেখার জন্য আমি কিছু প্রক্রিয়াগুলির অগ্রাধিকার সেট করেছিলাম তবে অনুমান করুন কী ... কিছুই নয়; এটি সব একইভাবে চালায় ...

আমি গুগলে খুঁজে পেয়েছি যে অগ্রাধিকারগুলি প্রক্রিয়াজাতকরণের গতির সাথে সত্যিই যুক্ত নয়, এটি কি সত্য? তাহলে কেন হবে না? যদি কোনও প্রক্রিয়াটির সর্বাধিক অগ্রাধিকার থাকে, তা কি দ্রুততর হওয়া উচিত নয় ??


4
সংক্ষিপ্ত উত্তর: When should I set [priorities in Task Manager]? প্রায় কখনও না।
ড্যান হেন্ডারসন

2
আরেকটি গুরুত্বপূর্ণ বিষয়টি বুঝতে হবে যে অগ্রাধিকার প্রয়োগ করা সিস্টেমের দ্বারা করা পরিমাণ কাজের পরিমাণ হ্রাস করে। এ কারণেই সাধারণ ডেস্কটপ অপারেটিং সিস্টেমগুলি রিয়েল-টাইম অপারেটিং সিস্টেম নয়। এবং যত বেশি আপনি তাদেরকে রিয়েল-টাইম অপারেটিং সিস্টেমের মতো আচরণ করাবেন তত কম দক্ষ। বাধা, উদাহরণস্বরূপ, ক্যাশে ফুটিয়ে তোলা। নিম্ন-অগ্রাধিকারের কাজটি এখনও শেষ করতে হবে এবং এখনও I / O এর জন্য প্রতিযোগিতা করে। ছোট অংশগুলিতে কম দক্ষতার সাথে কাজ করা কারও উপকারে আসে না।
ডেভিড শোয়ার্জ

আপনার কম্পিউটারের জন্য চিন্তা করার চেষ্টা করবেন না। তুমি জিততে পারবে না এটির থ্রেডগুলি কীভাবে আপনার চেয়ে বেশি পরিচালনা করতে হয় তা জানে।
b1nary.atr0phy

উত্তর:


52

মনে করুন মুদি দোকানের জন্য আপনার "লাইনের মাথায় যান" কার্ড রয়েছে। আপনি দোকানে যান, আপনার কার্টটি পূরণ করুন, চেকআউট কাউন্টারে যান এবং লাইনে কোনও নেই find আপনার কার্ডটি আপনাকে দ্রুত চেক আউট করতে সহায়তা করে? নাঃ।

অগ্রাধিকারগুলি প্রক্রিয়াজাতকরণের গতিকে প্রভাবিত করে না, এটিতে উচ্চতর অগ্রাধিকার প্রক্রিয়াটি দ্রুত চালাতে বা এমনকি আরও বেশি সিপিইউ সময় ব্যবহার করতে পায় না ... এটি যদি সিপিইউ ব্যবহার করতে চায় এমন একমাত্র জিনিস না হয়।

সত্যিই এটি সম্পর্কে কথা বলতে আমাদের থ্রেডগুলি উল্লেখ করতে হবে। প্রসেসগুলি উইন্ডোজে "রান" হয় না। থ্রেডস, যা প্রক্রিয়াগুলির অংশ, যা চলছে। (যদিও কোনও প্রক্রিয়াটির কেবল একটি থ্রেড থাকে তবে পার্থক্যটি বাইরে থেকে বেশ অস্পষ্ট))

(উপায়ে: বিপণন পরিভাষা যার মাধ্যমে একটি সিপিইউ রয়েছে, উদাহরণস্বরূপ, "চারটি কোর এবং আট থ্রেড" বিভ্রান্তিকর CP সিপিইউগুলিতে কোর থাকে তবে সিপিইউগুলিতে "থ্রেড থাকে না Th" থ্রেডগুলি প্রক্রিয়াগুলির অংশ। হাইপারথ্রেডিং সক্ষম না করে একটি থ্রেড চালাতে পারে ; হাইপারথ্রেডিং সক্ষম করার সাথে একটি কোর দুটি থ্রেড চালাতে পারে But তবে সিপিইউগুলিতে "থ্রেড থাকে না)"

প্রতিটি থ্রেড সর্বদা বেশ কয়েকটি নির্ধারিত অবস্থায় থাকে one সর্বাধিক দেখা হওয়া রাজ্যগুলি হ'ল : অপেক্ষার (* নিক্স এটিকে "ব্লকড" বলে; উভয় ওএসে এর অর্থ আই / ও বা অনুরূপ অপেক্ষা করা, কোনও সিপিইউ সময় ব্যবহার করে না এবং কোনটি চায় না); প্রস্তুত (সিপিইউ সময় ব্যবহার করতে চায় তবে এখনই এর জন্য কোনও সিপিইউ উপলব্ধ নেই); এবং চলমান । কেবল চলমান থ্রেডই সিপিইউ সময় গ্রহণ করে; অর্থাত্ যদি কোনও প্রক্রিয়াটির কোনও চলমান থ্রেড না থাকে তবে এটি টাস্ক ম্যানেজারের মতো সরঞ্জামগুলিতে শূন্য% সিপিইউ সময় ব্যবহার করতে দেখা যাবে।

একটি থ্রেড কেবল একটি কোর (অথবা, হাইপারথ্রেডিং সক্ষম করা থাকলে "লজিকাল প্রসেসর") চলতে পারে, সুতরাং কোনও প্রক্রিয়া কেবলমাত্র অনেকগুলি সিপিইউ কোর (বা এলপি) ব্যবহার করতে পারে কারণ থ্রেড রয়েছে যা এই মুহুর্তে চলতে চায় । (সামগ্রিকভাবে একই বিবৃতিটি সিস্টেমের তৈরি করা যেতে পারে))

বেশিরভাগ সিস্টেমে বেশিরভাগ থ্রেড তাদের বেশিরভাগ সময় ওয়েট অবস্থায় ব্যয় করে। (এ কারণেই আপনার অলস প্রক্রিয়াটি সিপিইউর 95% এরও বেশি সময় নেওয়ার সময় হওয়া উচিত যখন আপনার সিস্টেমটি কিছু করে না) সত্যই সিপিইউয়ের 100% ব্যবহার করতে পারে, কারণ তাদের সাধারণত কিছু ইনপুট ডেটা নিয়ে কাজ করতে হয় যা তাদের কোথাও থেকে পড়তে হবে এবং তারা সাধারণত আউটপুট ডেটা তৈরি করে যা কোথাও লিখতে হবে। এবং তারা সময়ের সাথে সাথে স্মৃতিতে প্রচুর বিভিন্ন ডেটা উল্লেখ করতে পারে যার অর্থ তারা হার্ড পৃষ্ঠার ত্রুটিগুলি সমাধানের জন্য অপেক্ষা করতে হবে।

তবে ভিডিও রেন্ডারিং বা 3 ডি চিত্র রেন্ডারিংয়ের মতো কিছু করার থ্রেডগুলি তাদের প্রায় সমস্ত সময় সিপিইউতে "কম্পিউটিং" এর জন্য ব্যয় করতে পারে এবং I / O এর জন্য খুব কম অপেক্ষা করতে পারে। এই ধরনের থ্রেডগুলিকে প্রায়শই "গণনা-আবদ্ধ" বলা হয় যার অর্থ তাদের সামগ্রিক পারফরম্যান্স প্রাথমিকভাবে সিপিইউ গতি দ্বারা সীমাবদ্ধ।

টাস্ক ম্যানেজারে আপনি যে সেটিংটি করেন সেটি আসলে প্রক্রিয়াটির সমস্ত থ্রেডের জন্য "বেস অগ্রাধিকার" প্রতিষ্ঠিত করে। থ্রেডটির প্রকৃত বা "বর্তমান" অগ্রাধিকারটি বেশি হতে পারে (তবে কখনও বেসের চেয়ে কম নয়)। একটি মুহূর্ত যে আরও। সময় নির্ধারণের সিদ্ধান্তগুলি ("কে চালাতে পারে এবং কী সিপিইউতে") সর্বদা থ্রেডের বর্তমান অগ্রাধিকার ব্যবহার করে করা হয়। অগ্রাধিকার কেবল প্রস্তুত এবং চলমান থ্রেডগুলির জন্য অর্থবহ (বা অন্যভাবে বলা, অগ্রাধিকার অপেক্ষা থ্রেডগুলির জন্য অর্থপূর্ণ নয় )।

উইন্ডোজ একটি পূর্বনির্ধারিত সময়সূচী অ্যালগরিদম ব্যবহার করে । যদি সিস্টেমের মধ্যে কেবল একটি থ্রেড সিপিইউ সময় ব্যবহার করতে চায় তবে তার অগ্রাধিকারটি কী তা সামান্যতম বিবেচ্য নয়; এটি সিপিইউর 100% পায়। নিম্ন-অগ্রাধিকারের থ্রেড চলাকালীন সিপিইউর সামর্থ্যের একটি অংশ সিডিয়ুলার "পিছনে ফেলে" বলে মনে হয় না, কেবল উচ্চতর অগ্রাধিকারের কিছু যদি আসে comes

যদি দুটি থ্রেড একটি সিপিইউ ব্যবহার করতে চায় এবং সেগুলি একই অগ্রাধিকারের হয় তবে তারপরে "টাইম-স্লাইসিং" বলা হয় এবং সময়ের সাথে সাথে প্রতিটি সিপিইউর প্রায় 50% সময় পায়। যদিও সেগুলি যদি বিভিন্ন অগ্রাধিকারের হয় তবে উচ্চ-অগ্রাধিকারের থ্রেডটি 100% এবং নিম্ন- কিছুই পায় না

(বাস্তবে এটি বেশ কিছু পাবে না, কারণ এটি একটি পর্যায়ক্রমিক "অনাহার এড়ানোর অগ্রাধিকার বৃদ্ধির" অভিজ্ঞতা অর্জন করবে যা এটি প্রতি 4 বা 5 সেকেন্ড বা তার কয়েক দশমিক কয়েক সেকেন্ড সময় দিতে পারে But তবে এটি "উচ্চতর অগ্রাধিকার" এর ব্যতিক্রম নয়) জিতবে ", কারণ এটি অনাহারে থাকা থ্রেডের অগ্রাধিকারটি সামঞ্জস্য করেই করা হয়েছে))

আপনার যদি একাধিক সিপিইউ কোর থাকে তবে জিনিসগুলি আরও আকর্ষণীয় হয়ে ওঠে এবং সাধারণভাবে অগ্রাধিকারগুলির প্রভাব কম থাকে । ধরুন আপনার কাছে দুটি থ্রেড রয়েছে যা চালাতে চায়। এবং ধরুন আপনার কাছে দুটি বা ততোধিক সিপিইউ কোর রয়েছে যেগুলি এই থ্রেডগুলির তুলনায় সমান বা উচ্চতর অগ্রাধিকারের কিছুই করছে না। তারপরে আপনার দুটি থ্রেড তাদের নিজস্ব অগ্রাধিকার বিবেচনা না করেই প্রতিটি 100% কোর পাবেন ।

(সুপারমার্কেটে দু'জন লোক দেখায়, এবং সেখানে দু'জন চেকার বিনামূল্যে থাকে the গ্রাহকের একজনের কাছে "লাইনের মাথায় যান" কার্ড রয়েছে। কোনও ব্যাপার নেই))

tl; dr version (এতদূর): অগ্রাধিকারগুলি "সিপিইউ সময়ের অনুপাতটি কে পায়" সম্পর্কে নয়, বরং "কে প্রথমে দৌড়ায়" about

আমি এখানে হাইপারথ্রেডিংয়ের দিকে বেশি যাচ্ছি না, কেবল এই ব্যতীত যে উইন্ডোজ দুটি "লজিকাল প্রসেসর" এর প্রত্যেকটির সাথে একটি কোরতে একইভাবে আচরণ করে যা এইচটি বন্ধ করা থাকলে এটি একটি কোরের সাথে একই আচরণ করবে। অর্থাত্ এগুলি ব্যতীত তাদের "আসল" সিপিইউ হিসাবে বিবেচনা করা হবে: উইন্ডোজ একসাথে একটি কোরে একাধিক এলপি ব্যবহার না করার জন্য খুব চেষ্টা করবে। অর্থাত্ আপনি একইসাথে সমস্ত চালনার চেষ্টা করার চেয়ে বেশি সংখ্যক কোর থ্রেড না পাওয়া পর্যন্ত আপনি সাধারণত দুটি কোরকেই ব্যবহৃত হতে দেখেন না core এটি কারণ দুটি "লজিকাল প্রসেসর" আপনাকে একক অ-হাইপারথ্রেড কোরের দ্বিগুণ পারফরম্যান্সের মতো কিছু দেয় না।

"বেস অগ্রাধিকার" সম্পর্কে: উইন্ডোজ তারা সম্প্রতি যা করেছে তার ভিত্তিতে থ্রেডগুলির বর্তমান অগ্রাধিকারকে ("বুস্ট" এবং "ক্ষয়") সামঞ্জস্য করবে। যে থ্রেডগুলি সম্প্রতি আই / ও অপারেশনগুলি সম্পন্ন হয়েছে তা সাধারণত বেসের উপরে একটি খাঁজ বা দুটি হবে; ইউআই থ্রেড (উইন্ডো চালিত থ্রেড) প্রায়শই যথেষ্ট উচ্চতর হবে; সিপিইউ-বদ্ধ থ্রেডগুলি সাধারণত তাদের গোড়ায় থাকে। এর উদ্দেশ্য হ'ল প্রোগ্রামটির ইউআইতে প্রতিক্রিয়া বজায় রাখা এবং আইও অনুরোধগুলি ডিস্কের মতো জিনিসগুলিতে প্রবাহিত করা।

কোনও প্রোগ্রাম (প্রক্রিয়া) তার প্রতিটি থ্রেডের বেস অগ্রাধিকারটিকেও প্রক্রিয়াটির অগ্রাধিকার (যে বিষয়টি আপনি টাস্ক ম্যানেজারে সেট করেছেন) দ্বারা নির্ধারিত সীমার মধ্যে পরিবর্তন করতে পারে। কিন্তু প্রোগ্রামগুলির সিংহভাগ বিরক্ত করে না। (তাদের আরও কিছু করা উচিত))

অন্যান্য জিনিস চলছে। অগ্রাধিকার বৃদ্ধির / ক্ষয়ের কারণে এবং মাল্টিপ্রসেসিং সিস্টেমগুলি (যেহেতু মাল্টিকোর, বা হাইপারথ্রেড, বা উভয়ই) আজকাল প্রচলিত রয়েছে এবং উইন্ডোজের পটভূমিতে সর্বদা জিনিস চলমান রয়েছে (তবে, আমরা আশা করি, বেশি সিপিইউ সময় ব্যবহার না করে), এবং শক্ত এবং নরম "সম্পর্ক" উভয়েরই প্রভাবের কারণে, পরীক্ষার কেসগুলি চালানো এবং যথাযথ ফলাফল যা এখানে পূর্বাভাস দেওয়া হয়েছিল তা পাওয়া শক্ত। তবে এটি আপনাকে একটি সঠিক চিত্রের কাছাকাছি দেওয়া উচিত।

উপসংহারে...

বেশিরভাগ জিনিস "সাধারণ" এ রেখে দেওয়া যুক্তিসঙ্গত। যদি আপনি এটি না করেন তবে ওএসের ডিস্ক ক্যাশে ফ্লাশিং ফাংশনগুলির মতো আপনি সহজেই এমন কিছু কাজ করতে চান যা আপনি সত্যিই কাজ করতে চান (তবে আপনি এটি জানেন না যে এটি বিদ্যমান) ving প্রকৃতপক্ষে, ওএসের অনেকগুলি প্রক্রিয়া সাধারণ ব্যতীত অন্য কোনও স্থানে থাকবে এবং উইন্ডোজ যেখানে যেখানেই রাখবে সেগুলি সেখানে রেখে দেওয়া উচিত।

অগ্রাধিকারগুলি নিয়ে ফিডিংয়ের জন্য টাস্ক ম্যানেজারকে ব্যবহার করার জন্য একটি যুক্তিসঙ্গত ক্ষেত্রে হ'ল যদি আপনার কিছু সিপিইউ-হগিং টাস্ক থাকে (যেমন ভিডিও বা থ্রিডি রেন্ডারিং) এবং এটি চলমান অবস্থায় আপনার ব্যবহারটি ধীর করে দেয়। সঠিক কথাটি, এটি বিশ্বাস করুন বা না করুন, তার অগ্রাধিকারটি একটি খাঁজ বা দুটি দ্বারা কমিয়ে আনুন। এটি আনন্দের সাথে সমস্ত সিপিইউ চক্র ব্যবহার করবে অন্য কিছু চায় না তবে এটি আপনার সিস্টেমের ইন্টারেক্টিভ ব্যবহারের পথ থেকে দূরে থাকবে। এটির কাজটি শেষ হতে কিছুটা বেশি সময় লাগতে পারে তবে অন্যান্য প্রোগ্রামগুলির ইন্টারেক্টিভ ব্যবহারের ক্ষেত্রে এটি ন্যূনতম হস্তক্ষেপে এর কাজটি সম্পন্ন করবে। আপনি যদি ট্রেড অফ পছন্দ না করেন, এটি করবেন না! তবে "এটি আরও দ্রুততর করার জন্য" একটি প্রচেষ্টায় এটি একটি উচ্চ অগ্রাধিকারে সেট করুন এবং এটি শেষ না হওয়া পর্যন্ত এটি আপনার পুরো ইউআইকে স্তব্ধ করতে পারে।

তথাকথিত রিয়েলটাইম অগ্রাধিকার শ্রেণিতে কখনও কিছু সেট করবেন না।

(সম্পাদনা করুন - এই অনুচ্ছেদে যুক্ত হয়েছে) ঠিক আছে, এটি একটি চরম বিবৃতি। ("কোনও সর্বজনীন দাবী সত্য নয় - এটিকে বাদ দিয়ে নয়।") কমপক্ষে, খুব সাবধানতার সাথে বিবেচনা না করেও নয়। আপনার লক্ষ্য যদি কোনও কিছু দ্রুত চালানো হয় তবে এটি সম্ভবত সাহায্য করবে না। তবে এটি আপনার সিস্টেমে "হার্ড লক" করতে পারে (একটি রিসেটের প্রয়োজন, বা বেশিরভাগ আধুনিক মেশিনে, একটি পাওয়ার চক্র প্রয়োজন)। বা এটিকে এত প্রতিক্রিয়াহীন করুন যাতে এটি কঠোরভাবে লকও হতে পারে।

এনবি: যে কোনও ভিডিও প্লেয়ার অ্যাপ্লিকেশনটি ভিস্টায় এবং পরে "মাল্টিমিডিয়া ক্লাস শিডিয়ুলিং" বৈশিষ্ট্যটি বেছে নেবে। এটি স্বয়ংক্রিয়ভাবে এটি একটি সিপিইউর 80% পর্যন্ত দেবে, তুলনামূলকভাবে স্বল্প বিরতিতে গণনা করা। যদি আপনি সেই সাথে গ্লিট-ফ্রি প্লেব্যাক না পেতে পারেন তবে খুব ভুল।

আরও বিশদের জন্য সোলায়মান, রাশিনোভিচ এবং আইনেস্কু দ্বারা উইন্ডোজ ইন্টারনাল 6th ষ্ঠ সংস্করণে থ্রেড এবং সময়সূচী সম্পর্কিত অধ্যায়গুলি দেখুন ।

প্রক্রিয়া এবং থ্রেডের অগ্রাধিকারগুলি কীভাবে সেট করা হয় এবং টাস্ক ম্যানেজারের "অগ্রাধিকার" কলামের অর্থ সম্পর্কে তথ্যের জন্য এখানে আমার উত্তরও দেখুন ।


1
যাইহোক, নিম্নলিখিত লিঙ্কযুক্ত প্রশ্নের উত্তর আমার সাথে সম্পর্কিত: superuser.com/questions/949030/…
জেমি হানরাহান

1
পাশাপাশি, "শিডিং", "শিডিয়ুলার" ইত্যাদি, এখানে উইন্ডোজ কার্নেল রুটিনগুলি উল্লেখ করে যা কোন থ্রেড চালাতে পারে এবং কোন সিপিইউতে তাদের চলতে হবে তা স্থির করে। "টাস্ক শিডিউলিং" নয়, যা নির্দিষ্ট সময়ে বা বিভিন্ন ট্রিগারগুলির প্রতিক্রিয়া হিসাবে প্রক্রিয়াগুলি প্রবর্তন সম্পর্কে।
জেমি হানরাহান

@ জামিহানরাহান ঠিক আছে আমি এটিকে এখানে স্থানান্তরিত করেছি: superuser.com/questions/1380473/…
জুলিয়েন__

5

পরিবর্তিত অগ্রাধিকার অপারেটিং সিস্টেম চলমান অ্যাপ্লিকেশনগুলিতে সিপিইউ সময় বরাদ্দ করার পদ্ধতি পরিবর্তন করে। সামগ্রিক সিপিইউর ব্যবহার বেশি হলে এটি কেবল লক্ষণীয় প্রভাব তৈরি করে।

উদাহরণস্বরূপ আপনি একই সাথে একটি ভিডিও এনকোড করেছেন এবং একটি ভিন্ন ভিডিও দেখতে পান। সম্ভবত, এনকোডিং অ্যাপ্লিকেশনটি আপনার সমস্ত সিপিইউ কোরে 100% কম্পিউটিং শক্তি ব্যবহার করবে। ফলস্বরূপ, অন্যান্য অ্যাপ্লিকেশনগুলি তোলপাড় করতে পারে।

উইন্ডোজ ডিফল্টভাবে উভয় অ্যাপ্লিকেশনকে সমান "স্বাভাবিক" অগ্রাধিকার দেবে। এই মুহুর্তে আপনি আপনার চলচ্চিত্র প্লেয়ার সফ্টওয়্যারটির অগ্রাধিকার বাড়াতে চাইতে পারেন। এই ধীরে ধীরে ধীরে ভিডিও এনকোডিংয়ের ব্যয়ে আপনার মসৃণ ভিডিও প্লেব্যাক হবে কারণ ভিডিও প্লেয়ারের তুলনায় এনকোডিং সফ্টওয়্যারটি একটি পটভূমি প্রক্রিয়াতে অবনমিত হবে।


"সম্ভবত, এনকোডিং অ্যাপ্লিকেশনটি আপনার সমস্ত সিপিইউ কোরগুলিতে ১০০% কম্পিউটিং শক্তি ব্যবহার করবে only " কমপক্ষে কয়েকটি সংখ্যার কোর এনকোডিংয়ের থ্রেড থাকলেই এটি সম্ভব ।
জেমি হানরাহান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.