मैं सीएफएस और बीएफएस शेड्यूलर्स के बीच कैसे स्विच कर सकता हूं?


17

ऐसे प्रश्न से संबंधित है जिस पर बेहतर है, सीएफएस या बीएफएस अनुसूचक :

मुझे कहां से सूची मिली है कि कौन से शेड्यूलर उपलब्ध हैं?

और मैं उनके बीच कैसे स्विच करूं?

जवाबों:


7

आपको अपने कर्नेल को डाउनलोड, पैच और संकलित करना होगा क्योंकि BFS वर्तमान में मेनलाइन कर्नेल का हिस्सा नहीं है। मेनलाइन कर्नेल में केवल एक शेड्यूलर होता है और इसका अर्थ समान कोडबेस में एकाधिक शेड्यूलर नहीं होता है, या यहां तक ​​कि ऑन-द-फ्लाई स्विटलेबल शेड्यूलर्स भी होता है (यह कुछ ऐसा भी है जो संभवतः किया जा सकता है)। यह बस बहुत जटिल होगा, और प्रयास के लायक नहीं है।

तो, अपने सिस्टम पर BFS पाने के लिए:

  • कर्नेल प्राप्त करें: http://www.kernel.org
  • अपने कर्नेल संस्करण के लिए नवीनतम BFS पैच प्राप्त करें: http://ck.kolivas.org/patches/bfs/
  • पैच, संकलन, और फिर अपने नए कर्नेल को बूट करें।

सीएफएस पर बीएफएस चलाने का लाभ हालांकि बहुत कम है, खासकर नए कर्नेल संस्करणों के साथ। ध्यान रखें कि सीएफएस में लगातार सुधार किया जा रहा है।


मैंने बीएफएस पैच के साथ कर्नेल 4.0.5 संकलित किया लेकिन शेड्यूलर सूचीबद्ध नहीं है। BFS मेनुकोनफिग बनाने में सक्षम था। मुझे समझ में नहीं आता क्यों।
शांतनु

9

इस पर थोड़ा शोध करने पर लगता है कि लिनक्स के लिए केवल दो शेड्यूलर हैं: सीएफएस और बीएफएस

Ubuntu 10.10 में BFS स्थापित करने का सबसे सरल तरीका एक PPA पैच है :

sudo add-apt-repository ppa:chogydan/ppa 
sudo apt-get update
sudo apt-get install linux-image-generic-ck linux-headers-generic-ck

आप उबंटू सॉफ्टवेयर सेंटर का उपयोग करके पैच को स्थापित कर सकते हैं जैसा कि "क्या पीपीए हैं और मैं उनका उपयोग कैसे करूं" में वर्णित है ।

पैच एक नया (पैचेड) कर्नेल स्थापित करता है, जो ग्रब मेनू में प्रत्यय "-ck" के साथ बूट में दिखाई देगा। बूट मेनू में रिबूट और उपयुक्त कर्नेल का चयन करके अनुसूचियों के बीच स्विच करें।


प्रदर्शन पर

मेरे मामले में, डेस्कटॉप पीसी पर बैकग्राउंड में फोल्डिंग @ होम चलाना (इंटेल i7 2600K पर आठ कोर पर आठ एफ @ एच थ्रेड्स), बीएफएस काफी बेहतर है: डेस्कटॉप प्रतिक्रिया स्नैपर (एक बड़ा अंतर नहीं है, लेकिन निश्चित रूप से ध्यान देने योग्य है) जबकि पृष्ठभूमि F @ H अनुप्रयोग 20-25% तेज है।

इस परिदृश्य में, इंटरेक्टिव डेस्कटॉप उपयोग और लंबे समय से चल रहे सीपीयू-हैवी बैकग्राउंड कार्यों को एक साथ निपटाने के लिए, सीएफएस एक समय में एक कोर आइडल को छोड़ने के लिए जाता था। इंटरैक्टिव डेस्कटॉप कार्यों के लिए तेजी से प्रतिक्रिया प्रदान करते हुए भी बीएफएस पृष्ठभूमि कार्यों के लिए सभी कोर 100% का उपयोग करने में बहुत बेहतर दिखाई देता है।

शायद कोई एकल अनुसूचक नहीं है जो भार के हर संभव संयोजन के तहत बेहतर प्रदर्शन करेगा, लेकिन ऐसे मामले हैं जहां बीएफएस बेहतर है।


3

नीचे मेरे लिए सटीक पैंगोलिन (Ubuntu 12.04) YMMV पर काम किया, हालांकि।

BFS का हिस्सा है pf-kernel

आज (दिसंबर 2013) में बीएफएस को स्थापित करने का सबसे अच्छा तरीका पीएफ-कर्नेल स्थापित करना प्रतीत होता है , जो मूल रूप से एक मानक कर्नेल है जिसमें प्रदर्शन पैच का एक गुच्छा लगाया जाता है। इन पैच में शामिल हैं:

  • BFS (CPU शेड्यूलर 16 CPU कोर से कम मशीनों पर कम विलंबता देता है)
  • भारी भार के तहत कम विलंबता के लिए अनुकूलित BFQ (I / O डिस्क अनुसूचक)
  • TuxOnIce (तेज़ हाइबरनेशन)

वेब पर निर्देश

मैंने pf-kernelलेख में उबंटू के लिए पैकेजों को स्थापित करने के बारे में कुछ निर्देश दिए " बेहतर लिनक्स डेस्कटॉप प्रदर्शन प्राप्त करें और पीएफ-कर्नेल के साथ और अधिक ।" - हालांकि ये निर्देश कुछ पुराने हैं, क्योंकि यह प्रासंगिक डेबियन के लिए एक गैर-मौजूदा स्रोत की ओर इशारा करता है। संकुल। लेकिन मुझे थ्रेड " उबंटू के लिए पीएफ-कर्नेल " ( pk-kernelमंचों पर) मिला, जिसमें उल्लेख किया गया है कि डेबियन पैकेज को मंच उपयोगकर्ता big_bum के ड्रॉपबॉक्स खाते से डाउनलोड किया जा सकता है ।

स्थापित कर रहा है pf-kernel

जिस मशीन पर मैंने स्थापित किया है वह एक पुराने 32-बिट लैपटॉप है, इसलिए मैंने अपनी मशीन पर एक निर्देशिका में आवश्यक linux-headersऔर linux-imageपैकेज डाउनलोड करके बंद कर दिया ~/kernel

( इन पैकेजों के 64 बिट और / या नए संस्करणों को खोजने के लिए उपर्युक्त ड्रॉपबॉक्स खाते में जाएं।)

इसके बाद मैंने " बेहतर लिनक्स डेस्कटॉप प्रदर्शन प्राप्त करें और पीएफ-कर्नेल के साथ और अधिक " निर्देशों का पालन किया , और निम्नलिखित आदेशों को निष्पादित किया:

$ cd ~/kernel
$ sudo dpkg -i *.deb

सब कुछ सुचारू रूप से काम करने लगता है, इसलिए मैंने रिबूट किया।

अगर यह काम करता है की जाँच करना

एक त्वरित निरीक्षण से संकेत मिलता है कि यह काम करता है, उदाहरण के लिए कमांड uname -aरिपोर्ट जो मैं उपयोग कर रहा हूं pf-kernel:

लिनक्स शोभन ३.१२.२ -पीएफ + # ६ एसएमपी प्रीमेन्प्ट मोन दिसम्बर २ १ ९: ५२:२२ ईईटी २०१३ i686 i686 i386 GNU / Linux

और cat /sys/block/sda/queue/schedulerदिखाता है कि BFQ अब वर्तमान डिस्क अनुसूचक है ( sdaडिस्क के लिए):

noop deadline cfq [bfq] 

Nov'14 - मैंने अपने प्रीसिज़ पैंगोलिन (उबंटू 12.04.4 एलटीएस) पर इस पीएफ-कर्नेल को स्थापित किया है, जो मुख्य रूप से वीडियो रिकॉर्डिंग के लिए मेरे xfs फाइल सिस्टम से बेहतर I / O प्राप्त करने के लिए Mythbuntu चल रहा है। मैंने कर्वी संस्करणों (3.13) का मिलान एनवीडिया डिफ़ॉल्ट ड्राइवर संगतता का मिलान करने के लिए किया। यह एक अड़चन के बिना काम किया। कुदोस से zrjm… ..!
hitsitimpleengineer

1

BFS के साथ एक नया कर्नेल पैच और स्थापित करें। आपको सीपेटेयर गुठली का उपयोग करना होगा, एक ही कर्नेल छवि में दोनों का उपयोग करने का कोई तरीका नहीं है (विशेष रूप से उन्हें मक्खी पर स्वाइप करने के लिए)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.