मैं noop अनुसूचक में कैसे बदल सकता हूँ?


29

मेरे लैपटॉप में एक SSD है और मुझे बताया गया है कि "noop" शेड्यूलर पर स्विच करना पसंद किया जाता है।

मैं नूप शेड्यूलर में कैसे बदलूं, और मैं कहां से बदलाव लाऊं ताकि यह रिबूट में लगातार बना रहे?

जवाबों:


21

संपादित करें / आदि / डिफ़ॉल्ट / ग्रब, जैसे कि gksudo gedit /etc/default/grub, यहां आपको एलेवेटर = नोप जोड़ने की आवश्यकता है।

बदलें GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"करने के लिए GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"

फिर दौड़कर sudo update-grub2पुनः आरंभ करें।


6
एक सिस्टम पर सभी डिस्क में डिफ़ॉल्ट को बदलने के लिए बेनामी का जवाब अच्छा है। इसके विपरीत, एलिया कागन का जवाब विशिष्ट डिस्क के लिए डिफ़ॉल्ट सेट करता है। सिंगल ड्राइव वाले लैपटॉप के लिए, या तो ठीक काम करता है। कई डिस्क के साथ सिस्टम के लिए - सबसे विशेष रूप से, SSDs और घूर्णन ड्राइव दोनों के साथ डिस्क), एलिया कागन का जवाब महीन दानेदार नियंत्रण प्रदान करता है।
रॉयस विलियम्स

28

मान लीजिए आपकी हार्ड डिस्क है /dev/sda। तब आप यह देखने के लिए जाँच कर सकते हैं कि वर्तमान में इसके लिए कौन सा शेड्यूलर उपयोग में है:

cat /sys/block/sda/queue/scheduler

(वर्तमान में उपयोग में आने वाला अनुसूचक [ ]कोष्ठक से घिरा होगा ।)

और आप इसे बिना शेड्यूलर के उपयोग कर सकते हैं:

echo noop > /sys/block/sda/queue/scheduler

देखें यह लेख थोड़ा और अधिक जानकारी के लिए।

परिवर्तन को जारी रखने के लिए, आप कमांड डाल सकते हैं /etc/rc.local


1
मुझे इसे चलाने में "अनुमति से वंचित" त्रुटि मिली, यहां तक ​​कि सूडो के साथ
लुकास बस्टामेंटे

@LucasBustamante क्या आप चल रहे हैं sudo echo noop > /sys/block/sda/queue/scheduler? यह काम नहीं करता है, क्योंकि शेल, जो आपके उपयोगकर्ता के रूप में चलता है, कमांड चलाने से पहले रीडायरेक्शन सेट करता है जिसका आउटपुट रीडायरेक्ट किया गया है। आप echo noop | sudo tee /sys/block/sda/queue/schedulerइसके बजाय उपयोग कर सकते हैं । सूडो के साथ "हैलो"> x.txt भी नहीं देख सकते हैं? और कैसे बैश में पुनर्निर्देशन के साथ sudo का उपयोग करते समय "अनुमति से इनकार" को हल करने के लिए? अधिक जानकारी और अन्य तरीकों के लिए। (यदि आपका मतलब यह नहीं है, तो कृपया मुझे बताएं।)
एलियाह कगन

जवाब देने के लिए धन्यवाद, कि मदद नहीं की। मैं एक NVMe SSD का उपयोग कर रहा हूं, मुझे लगता है कि यह समय-समय पर अनुसूचक का उपयोग नहीं करता है, जिसे मैंने serverfault.com/questions/693348/ ...
लुकास बस्टामेंट

14

यह डेबियन संदर्भ दिखाता है कि SSDs को गतिशील रूप से कैसे पहचाना जाए और तदनुसार शेड्यूलर को बदला जाए:

विभिन्न ड्राइव प्रकारों वाली प्रणालियों में आप एक udv नियम (create /etc/udev/rules.d/60-ssd-scheduler.rules) के साथ सेटिंग्स समायोजित कर सकते हैं:

# गैर-घूर्णन डिस्क के लिए समय सीमा अनुसूचक सेट करें

 ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0",ATTR{queue/scheduler}="deadline"

यह सुनिश्चित करने के लिए कि आपका कर्नेल घूर्णी स्थिति का पता लगा सकता है:

$ for f in /sys/block/sd?/queue/rotational; do printf "$f is "; cat $f; done
/sys/block/sda/queue/rotational is 1
/sys/block/sdb/queue/rotational is 1
/sys/block/sdc/queue/rotational is 0   <=== Only this is SSD!

उपरोक्त सभी को सीधे डेबियन संदर्भ से उद्धृत किया गया है, जिसमें पहली बार एसएसडी उपयोगकर्ताओं के लिए ब्याज के कई अन्य तत्व हैं।


root @ titan: / home / kessaras # के लिए f में / sys / block / sd; / कतार / घूर्णी; प्रिंटफ "$ f है"; बिल्ली $ च; किया / sys / block / sda / कतार / घूर्णी है 0 / sys / ब्लॉक / sdb / कतार / घूर्णी है 0 / sys / ब्लॉक / sdc / कतार / घूर्णी है 1 / sys / ब्लॉक / sdd / कतार / घूर्णी 1 मूल है @titan: / home / kessaras # cat / sys / block / sd * / queue / अनुसूचक [mq-deadline] कोई नहीं [mq-deadline] कोई नहीं [mq-deadline] कोई भी [mq-deadline] कोई भी कुछ यहाँ बहुत गलत नहीं है। यह सभी कठिन डिस्क को समय सीमा में बदल देता है
पावलोस थियोडोरो

कमांड कुछ भी नहीं बदलता है - यह केवल रिपोर्ट करता है कि क्या डिस्क "घूर्णी" (एचडीडी) है। घूर्णी = 0 का मतलब है कि यह एक एसएसडी या अन्य गैर-कताई ड्राइव है।
रॉयस विलियम्स

आपका क्या मतलब है कि यह कुछ भी नहीं बदलता है? और वहां लिखा गया udv नियम क्या करता है? यह एक पीले बॉक्स के अंदर भी है। आप मतलब है कि im अंधा या मैं नहीं पढ़ सकता हूँ?
पावलोस थियोडोरो

1
मेरी गलती। यह नवीनतम कर्नेल में लगता है कि उन्होंने अनुसूचियों को हटा दिया ... ??? f / sys / block / sd? / queue / अनुसूचक के लिए; प्रिंटफ "$ f है"; बिल्ली $ च; किया / sys / block / sda / queue / अनुसूचक है [mq-deadline] ] कोई नहीं / sys / block / sdd / queue / अनुसूचक है [mq-deadline] कोई भी लेख और आपके द्वारा लिखा गया सब कुछ ठीक नहीं है। यह सिर्फ इतना है कि केवल समय सीमा है और इससे चुनने के लिए और कुछ नहीं है।
पावलोस थियोडोरो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.