কেন অনুসন্ধানকারী এত কম প্রক্রিয়া অগ্রাধিকারে চালায়?


13

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

চলমান ps -Alঅনুষ্ঠান, দৃশ্যত ডিফল্টরূপে, Dock, Finder, এবং SystemUIServerএ সব একটি অগ্রাধিকার পর্যন্ত তারপর userland অ্যাপ্লিকেশন কম চালানোর বলে মনে হচ্ছে। ব্যবহারকারী অ্যাপ্লিকেশনগুলির সাধারণত 33 টির অগ্রাধিকার থাকলেও ডক, ফাইন্ডার ইত্যাদির অগ্রাধিকার 53 হয়।

শেষ ফলাফলটি হ'ল যে কোনও প্রসেসরের নিবিড় কাজটি সম্পূর্ণরূপে ইউআইকে ক্লোবার করে এবং সিস্টেমটি শেষ না হওয়া অবধি অযোগ্য করে তোলে।

যাইহোক, renice -20 -p <prid>তাদের ব্যবহারকারীর ইউআইল্যান্ডের অন্যান্য অগ্রাধিকার হিসাবে একই অগ্রাধিকার পর্যন্ত বাধা ব্যবহার করে এবং ফলস্বরূপ মাউস ক্লিকের মতো সহজ কিছুতে UI- এর জন্য 1-3 সেকেন্ড (!) অপেক্ষা করতে হবে না।

থাদ বলেছিলেন, আমার দুটি প্রশ্ন আছে:
আমার কী এমন কোনও কারণ আছে যা এইভাবে অনুসন্ধানকারীর থ্রেডের অগ্রাধিকারটি পরিবর্তন করা উচিত নয়?
অগ্রাধিকার পরিবর্তনকে অবিচল করার কোনও উপায় কি যেমন, যেমন এটি পুনরায় বুট করার পরে সেভাবেই থাকে way


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

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

1
উদাহরণস্বরূপ, ডকের অগ্রাধিকারটি স্টক হিসাবে রেখে দেওয়া হয়েছে, এটির উপর দিয়ে মাউসটি সরানো হতে প্রতিক্রিয়া জানাতে 5-10 সেকেন্ড সময় লাগে। এটিকে ম্যানুয়ালি অন্য সমস্ত কিছুর মতো একই 33 টি ধাক্কা খেলে তা অবিলম্বে প্রতিক্রিয়া দেখায় (যদিও সামান্য কিছুটা চপ্পল রয়েছে)।
ভুয়া নাম

3
আপডেট: দুর্দান্ত কমান্ডটি উভয় সিপিইউ এবং আইও ক্যু হ্যান্ডলিংকে প্রভাবিত করে : insanelymac.com/forum/lofiversion/index.php/t164156.html
ভুয়া নাম

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

উত্তর:


1

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

জিনিসগুলির শব্দ থেকে বিচার করা (সমস্ত উদ্দেশ্যে উত্সাহ গ্রহণের প্রক্রিয়াগুলি) স্মৃতি ম্যানেজমেন্ট পরিচালনার ক্ষেত্রে এটি সামান্য ঘটনা। বাফারিং এইড হিসাবে প্রায় 10-20% রিসোর্স ফ্রি না করেই আমি কোনও সিস্টেম তাদের সেরাতম পারফর্ম করতে দেখিনি।

শুধু জানতে আগ্রহী, কি হয় এই প্রক্রিয়ার আপনি চালাচ্ছেন?


পাইথন, প্রাথমিকভাবে। কিছু ভারী পুনরাবৃত্তি গণনা করা।
ভুয়া নাম

এছাড়াও, ব্যাচের চিত্র প্রক্রিয়াকরণ
ফেক নাম

এটি সিপিইউ সমস্যার চেয়ে র‌্যাম ব্যবহারের সমস্যার মতো মনে হচ্ছে। আমি ইউআইটি পিছনে না রেখে গিট ইউজ টন সিপিইউর মতো কিছু পেয়েছি, কিন্তু যখন কোনও কিছু সমস্ত র‌্যাম খাওয়া শুরু করে তখন ইউআই একটি বড় আঘাত হানে। এই প্রক্রিয়াগুলির সময় আপনার র‌্যাম ব্যবহারের মতো কী?
টিম

1

"আমি অ্যাপারচারে একটি বড় আমদানি চালিয়ে যাচ্ছি এবং এটি আমার সিস্টেমকে একটি সম্পূর্ণ ক্রলের দিকে ধীর করে দিচ্ছে"

তারপরে অ্যাপারচার হ'ল (সম্ভবত) আপনি যে প্রোগ্রামটি চান reniceতা অন্যদের নয়। আপনার উল্লিখিত প্রক্রিয়াগুলি গড় ব্যবহারকারীর অ্যাপ্লিকেশনগুলির তুলনায় সুরযুক্ত হয়, যাতে ব্যবহারকারী অ্যাপ্লিকেশনগুলি উচ্চ অগ্রাধিকার পায় এবং প্রতিক্রিয়াশীল থাকে, কারণ ব্যবহারকারীরা বেশিরভাগ সময় ব্যবহার করেন।

আপনার কেসটি হ'ল সাধারণ, যেখানে কোনও অ্যাপ্লিকেশন দীর্ঘমেয়াদী, নিবিড় কাজ সম্পাদন করছে এবং ব্যবহারকারী একই সাথে অন্য কিছু করতে চায়। ডিফল্টরূপে, এটি ব্যবহারকারীর অ্যাপ্লিকেশনগুলি যা অগ্রাধিকার পায় যাতে এই নিবিড় কাজগুলি আরও সংস্থান পায় এবং তাড়াতাড়ি সম্পন্ন হয়।

প্রতিটি ব্যবহারকারীর জন্য যে অভিযোগ করে যে অন্যান্য অ্যাপ্লিকেশনগুলি যথেষ্ট পরিমাণে প্রতিক্রিয়াশীল নয়, সেখানে আরও একজন ব্যবহারকারী অভিযোগ করেছেন যে সক্রিয় অ্যাপ্লিকেশনটি পর্যাপ্ত পরিমাণে দ্রুত চলছে না।

যদি আপনি দীর্ঘ, রিসোর্স নিবিড় কাজ চালাচ্ছেন এবং আপনি জানেন যে আপনি এটি কম অগ্রাধিকার পেতে চান যাতে কাজটি শেষ হওয়ার সময় আপনি অন্যান্য প্রক্রিয়াগুলি ব্যবহার করতে পারেন — এবং নিবিড় কাজটি আরও বেশি সময় নেয় কিনা তা আপনি আপত্তি করেন না — আপনার অগ্রাধিকারটি কম করা উচিত প্রক্রিয়া নিবিড় কাজ চলছে।

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


সংজ্ঞা অনুসারে পটভূমির কাজগুলি পূর্বের কাজগুলিতে কম অগ্রাধিকারে হওয়া উচিত। সবচেয়ে গুরুত্বপূর্ণ ফোরগ্রাউন্ড টাস্ক সমগ্র সিস্টেমের মধ্যে গুই, যা মূলত ফাইন্ডারে প্রক্রিয়া হয়। আমি reniceজিনিসগুলিতে প্রক্রিয়া-অনুসারে প্রক্রিয়া ভিত্তিতে থ্রেডগুলি প্যাচ করতে সক্ষম হতে পারি , তবে আসল সমস্যাটি সন্ধানকারীদের অগ্রাধিকার।
ভুয়া নাম

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

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

@ ফেক নাম, স্পষ্টকরণের বিষয় হিসাবে: reniceপ্রক্রিয়াগুলিতে চালিত হয়, থ্রেড নয়।
ক্রিস পৃষ্ঠা

1

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

আমি এখনও এটি সম্পর্কে প্রায়শই ভাবি এবং আসলে যদি আপনার সাহস হয় তবে "বেসিকগুলি" নিয়ে গণ্ডগোলের কয়েকটি উপায় আছে। পূর্বে উল্লিখিত হিসাবে, আপনি বিভিন্ন শেল চিকানারি করতে পারেন .. তবে এই ধরনের অপকর্মের জন্য একটি ভাল জায়গা হ'ল বিভিন্ন /etc/rc*বুট রুটিন .. যা ইতিমধ্যে সেখানে রয়েছে .. আপনার জন্য সমস্ত ধরণের স্বেচ্ছাসেবক (আপেল-সংজ্ঞায়িত) সিস্টেমের পরামিতিগুলি সেট করে। হয় এগুলি সম্পাদনা করুন, বা বুট প্রক্রিয়াতে কীভাবে আপনার নিজস্ব রুটিন যুক্ত করা যায় তা দেখুন।

এছাড়াও, যদি আপনি সত্যিই আপনার মাথা বিস্ফোরিত করতে চান ..

sudo sysctl list এবং এটি পান্ডোরার বাক্সের চাবিকাঠি, ওরফে /etc/sysctl.conf

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