উইন 7 এ কোনও প্রক্রিয়া বা থ্রেডের I / O অগ্রাধিকার কীভাবে পরিবর্তন করবেন?


32

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

সেখানে কি অন্য কোনও সরঞ্জাম রয়েছে যা প্রদত্ত থ্রেড / প্রদত্ত প্রক্রিয়াটির সমস্ত থ্রেডের আইও অগ্রাধিকার পরিবর্তন করতে আমাকে সহায়তা করতে পারে?


আছে: প্রায় স্ট্যাক ওভারফ্লো একই প্রশ্ন হল stackoverflow.com/questions/301290/...
Mehper সি Palavuzlar

3
@ [মেহপার সি। প্যালভুজলার] সত্য, তবে এটি আমার বিকাশ করা সফ্টওয়্যারটির জন্য নয় - আমি তৃতীয় পক্ষের সফ্টওয়্যারটিতে এটি করার জন্য একটি প্রস্তুত সরঞ্জামের সন্ধান করছি।
রোমানস্ট

উত্তর:


11

রেডিমেড টুল

ম্যানুয়াল ব্যবহারকারীর ক্রিয়া বা অটোমেশন এবং অধ্যবসায় দ্বারা প্রক্রিয়া I / O অগ্রাধিকার সেট করার জন্য একটি তৃতীয় পক্ষের সরঞ্জাম হ'ল প্রক্রিয়া লাসো হবে । এটি প্রায় কোনও প্রক্রিয়া সেটিং সেট করতে পারে এবং অবিচ্ছিন্নভাবে বা নিয়ম অনুসারে এটি করতে পারে (যেমন যখন এটি ঘটে তখন I / O এর অগ্রাধিকারটি পরিবর্তন করুন)।

প্রোগ্রাম্যাটিক উত্তর

উত্তরটি একটি এনটি নেটিভ এপিআই, এনটিএসটিইনফরমেশনপ্রসেসের একটি সহজ এপিআই কল । এটি ২০০ D ডিডিকে 'আইওপ্রেরিটি' শ্রেণি হিসাবে সংজ্ঞায়িত করা হয়েছে। এনটি 6-তে কেবল দুটি স্তর সমর্থিত: খুব কম (ব্যাকগ্রাউন্ড) এবং সাধারণ । প্রযুক্তিগতভাবে 5 টি স্তর সংজ্ঞায়িত করা হয়েছে - সমালোচক, উচ্চ, সাধারণ, নিম্ন এবং খুব নিম্ন। সমালোচনামূলক স্তরটি পেজিং অপারেশনের জন্য সংরক্ষিত। অন্যদের উপর কোনও ডেটা নেই।

যাইহোক, I / O অগ্রাধিকারটি ব্যবহারের সঠিক উপায়টি কেবলমাত্র PROCESSS_MODE_BACKGROUND_BEGIN সরবরাহ করে উইন্ডোজ এপিআই সেটপ্রসেসপ্রাইরিটি ক্লাসে কল দিয়ে একটি 'ব্যাকগ্রাউন্ড মোড' শুরু করা । এটি আইডিএল সিপিইউ অগ্রাধিকার শ্রেণীর পাশাপাশি খুব কম (পটভূমি) I / O অগ্রাধিকারটি ব্যবহার করবে । হয়ে গেলে, PROCESS_MODE_BACKGROUND_END এর মাধ্যমে ফিরুন।

SetThreadPriority এপিআই নির্দিষ্ট থ্রেডের এই একই পটভূমি মোড অনুমতি দেবে। এখানে আপনি THREAD_MODE_BACKGROUND_BEGIN / END সরবরাহ করবেন।


আমি উইন্ডোজ প্রোগ্রামিং এবং ওএস স্তরের স্টাফগুলিতে নেই, তবে শুনেছি যে কোনও থ্রেডের অগ্রাধিকারকে ঘিরে ফেলেছি, পুরোপুরি THREAD_PRIORITY_TIME_CRITICAL অবধি কি আপনার প্রোগ্রাম বা কোনও প্রোগ্রামের মাধ্যমে সম্ভব? বা এটি এখনও কেবলমাত্র অগ্রগতি যা সামঞ্জস্য করা যায়, এবং সিপিইউ অগ্রাধিকারের থ্রেড নয়? আমি অনুমান করি IO অগ্রাধিকার পরিবর্তন সিপিইউ ব্যবহারে খুব বেশি পার্থক্য আনবে না, তাই না?
বার্লোপ

হ্যাঁ। উভয়ই সেট করা যায়, এবং অবিচল থাকতে পারে। অন্যান্য অনেকগুলি জিনিসও সেট করা যেতে পারে, বা নিয়মের (যেমন সিপিইউ অ্যাফিনিটি) এর উপর ভিত্তি করে গতিশীল পরিবর্তন করা যেতে পারে। I / O অগ্রাধিকারটি সিপিইউ অগ্রাধিকার থেকে পৃথক, ঠিক আছে।
dyasta

এটি "তৃতীয় পক্ষের সফ্টওয়্যারটিতে এটি করার জন্য একটি প্রস্তুত সরঞ্জাম" নয়।
সিস টিমারম্যান

দুঃখিত, আমি মনে করি প্রশ্নটি সম্পাদনা করা হতে পারে, যেমন আমি স্পষ্টতই একটি প্রোগ্রাম্যাটিক দিক থেকে উত্তর দিচ্ছিলাম (সম্পাদিত নয়)। প্রক্রিয়া লাসো হ'ল এটি 'তৃতীয় পক্ষের সফ্টওয়্যারটিতে করার জন্য তৈরি সরঞ্জাম'। দেখুন bitsum.com
dyasta

23

কেউ এটি নিয়ে বিরক্ত হয়নি দেখে আমি এটি বিকাশ করেছি: https://sourceforge.net/projects/iopriority/ (ওপেন সোর্স)

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


1
আমি কেবল লক্ষ্য করেছি যে আপনি এটির কোনও প্রক্রিয়া সার্ভার 2012R2 এর উচ্চ অগ্রাধিকারে পরিবর্তন করার অনুমতি দিচ্ছেন না।
jftuga

14

প্রসেসহ্যাকার একটি জিইউআই সরঞ্জাম যা একটি স্বেচ্ছাসেবী প্রক্রিয়ার IO অগ্রাধিকার পরিবর্তন করতে পারে।


কেন এটি রাশিনোভিচের মতো কিছু দেখাচ্ছে?
ড্যানিয়েল মোমন্ডর

1
@ ড্যানিয়েলমোমন্ডর সম্ভবত এটি প্রসএক্সপ এবং এর সীমাবদ্ধতা দ্বারা অনুপ্রাণিত হয়েছিল? আমি ব্যক্তিগতভাবে স্যুইচ করেছি কারণ প্রসএক্সপৃষ্ঠা 14 এর সংস্করণের পরে আমার ল্যাপটপে সম্পূর্ণ ভুল সিপিইউ ব্যবহার দেখিয়েছিল
রোমানস্টে

1
শুধু তাই নয়, প্রসএক্সপ্যাকটি আমার কম্পিউটার, ইত্যাদিও বিএসওডে সক্ষম করেছিল, এটি কি নিখরচায়?
ড্যানিয়েল মোমন্ডর

@ ড্যানিয়েলমোমন্ডর হ্যাঁ, তবুও এটি প্রকৃতপক্ষে প্রোকেক্সের চেয়ে আরও বেশি কিছু করার কথা বলেছে। কিছুটা আলাদা ইউআই কিন্তু সত্যই সক্ষম।
রোমানস্টে

1

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

অ্যাপটিতে অন্যান্য বৈশিষ্ট্য রয়েছে যা উইন্ডোজ টাস্ক ম্যানেজারের বিভিন্ন ট্যাবের কার্যকারিতা বাড়িয়ে তোলে। সংস্করণগুলি 32- এবং 64-বিট উভয় সিস্টেমের জন্যই বিদ্যমান এবং অ্যাপ্লিকেশনটি ব্যক্তিগত ব্যবহারের জন্য বিনামূল্যে।


দুর্দান্ত অ্যাপের মতো শোনাচ্ছে। একটি লিঙ্ক আছে?
স্টিজন ডি উইট

1
আপনি যদি পিআরআইও বলতে চান তবে এটি বিভিন্ন কন্টেন্ট অ্যাগ্রিগেটর ( সিএনটি
মাইক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.