এই পুরো থ্রেড দরকারী হতে হবে।
আমি cpu 1 চালানোর জন্য 'init' প্রক্রিয়া সীমাবদ্ধ করার একটি উপায় সন্ধান করব।
সাধারণ ক্ষেত্রে সর্বশেষ শব্দগুলি "সব CPU গুলি চালানো উচিত তবে 1"। আমি অনুমান কেউ ব্যবহার করতে পারেন কার্নেল পরামিতি ; irqaffinity
, isolcpus
প্রতিশ্রুতিশীল চেহারা।
সম্পাদনা করুন:
সম্পর্কিত isolcpus
মধ্যে কার্নেল পরামিতি নথি :
এই অপশনটি সিপিএস বিচ্ছিন্ন করার পছন্দের উপায়। বিকল্প - সিস্টেমের সমস্ত কাজগুলির সিপিইউ মাস্কটি নিজে সেট করে - সমস্যাগুলি এবং উপাত্ত লোড ব্যালান্সার কর্মক্ষমতা সৃষ্টি করতে পারে।
আমি কিছু পরীক্ষা করেছি। ফলাফল:
কার্নেল পরামিতি isolcpus
আপনি সীমাবদ্ধ ব্যবহার করতে পারেন এক init
প্রক্রিয়া এবং CPU (গুলি) বিচ্ছিন্ন।
এটা যে কার্নেল পরামিতি আমার মনে হচ্ছে irqaffinity
বিচ্ছিন্ন CPU (গুলি) প্রভাবিত না। আপনি সম্ভবত এই পরামিতি প্রয়োজন হবে না।
আমি বিচ্ছিন্ন যখন CPU0 এটা সম্পূর্ণ নিষ্ক্রিয় যেতে না। Isolation সত্ত্বেও যে সিস্টেম বা হার্ডওয়্যার প্রয়োজন সঙ্গে কিছু গণনা করতে হয়? - আমি জানি না।
আমি বিচ্ছিন্ন যখন CPU1 অথবা CPU7 ইহা ছিল হিসাবে কঠিন একটি শিলা হিসাবে নিষ্ক্রিয়।
বিচ্ছিন্ন করা CPU1 যোগ isolcpus=1
আপনার মধ্যে grub.cfg
, এটার মত:
linux /vmlinuz-
(... এখানে আপনার বর্তমান পরামিতি ...) isolcpus=1
মূল উত্তর অবিরত:
বিকল্পরূপে, সিস্টেমটি শুরু হওয়ার পরে, আপনি বর্তমানে চলমান সমস্ত প্রক্রিয়াগুলির সম্বন্ধযুক্ততা পুনরায় বরাদ্দ করতে পারেন, তবে এটি কম মার্জিত বলে মনে হয়।
আমি এটা কম মার্জিত বলে মনে করি, তবে এটি যথেষ্ট ভাল কাজ করতে পারে (সম্পাদন করুন: উপরে সমস্যা হিসাবে এটি সমস্যা এবং নিম্নতম লোড ব্যালান্সার কর্মক্ষমতা সৃষ্টি করতে পারে)। দ্রুত এবং নোংরা এক-মাছ ধরার যন্ত্র যা আমার ডেবিয়ানতে কাজ করে:
sudo bash -c 'cd /proc ; for i in [1-9]* ; do taskset -a -p fffffffe $i ; done'
আমি কিছু জন্য ত্রুটি আছে PID গুলি, তবুও htop
দেখায় যে এক কোর কার্যত পরে নিষ্ক্রিয়। অবশ্যই আপনাকে পরে আপনার স্ক্রিপ্ট চালাতে হবে, একেবারে বা সহজভাবে পুনরায় সাইন ইন করুন:
taskset -a -p 1 PID
আমি আশা করি আপনি সিপিইউ অ্যাফিনিটি উত্তরাধিকারসূত্রে প্রাপ্ত নতুন প্রসেসগুলি ঢোকানোর জন্য এক-মাছ ধরার পুনরাবৃত্তি করতে হবে না।