मैं उबंटू में नहीं हूं, लेकिन फेडोरा में मैंने जो किया वह आपकी मदद कर सकता है।
BFQ एक blk-mq (मल्टी-क्यू ब्लॉक IO क्यूइंग मैकेनिज्म) शेड्यूलर है, इसलिए आपको बूट समय पर blk-mq को सक्षम करने की आवश्यकता है, अपने / etc / default / grub फ़ाइल को एडिट करें और scsi_mod.use_blk_mq=1
अपने में जोड़ें GRUB_CMDLINE_LINUX
, यह मेरी ग्रब फ़ाइल है, जैसे एक उदाहरण:
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=false
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="quiet vt.global_cursor_default=0 scsi_mod.use_blk_mq=1"
GRUB_DISABLE_RECOVERY="true"
उसके बाद, आपको अपना ग्रब अपडेट करना होगा। फेडोरा पर हमें उपयोग करना होगा sudo grub2-mkconfig -o /path/to/grub.cfg
, जो बूट विधि के आधार पर भिन्न होता है । उबंटू पर, आप बस चला सकते हैं:
sudo update-grub
रिबूट, और अगर आपको यह मिलता है:
cat /sys/block/sda/queue/scheduler
[mq-deadline] none
संभवतः आपके कर्नेल को बीएफक्यू के साथ एक मॉड्यूल के रूप में संकलित किया गया था , और यह किबर के लिए भी मामला हो सकता है।
sudo modprobe bfq
sudo cat /sys/block/sda/queue/scheduler
[mq-deadline] bfq none
आप इसे एक /etc/modules-load.d/bfq.conf
फ़ाइल युक्त जोड़कर बूट समय पर जोड़ सकते हैं bfq
।
यह नोट करना महत्वपूर्ण है कि blk_mq को सक्षम करना गैर blk_mq अनुसूचियों का उपयोग करना असंभव है, इसलिए आप बिना cfq और गैर mq समय सीमा खो देंगे
जाहिरा तौर पर blk_mq शेड्यूलिंग सिस्टम ग्रब में एलेवेटर झंडे का समर्थन नहीं कर रहा है, इसके बजाय udv नियमों का उपयोग किया जा सकता है, एक अधिक दानेदार नियंत्रण की पेशकश के साथ।
बनाएँ /etc/udev/rules.d/60-scheduler.rules
अगर यह मौजूद नहीं था और जोड़ें:
ACTION=="add|change", KERNEL=="sd*[!0-9]|sr*", ATTR{queue/scheduler}="bfq"
जैसा कि यहां बताया गया है कि यदि आवश्यक हो तो आप विशेषता का उपयोग करके udev नियमों में घूर्णी (HDD) और गैर-घूर्णी (SSD) उपकरणों के बीच अंतर कर सकते हैं ATTR{queue/rotational}
। ज्ञात हो कि Paolo Valente, BFQ डेवलपर, ने LinuxCon यूरोप में बताया कि BFQ कम विलंबता गारंटी के मामले में noop
या deadline
शेड्यूलर्स की तुलना में बेहतर विकल्प हो सकता है , जो SSD के लिए भी इसका उपयोग करने के लिए एक अच्छी सलाह देता है।
पाओलो की तुलना: https://www.youtube.com/watch?v=1cjZeaCXIyM&feature=youtu.be
इसे सहेजें, और पुनः लोड करें और ट्रिगर करें udev rules
:
sudo udevadm control --reload
sudo udevadm trigger