डिफ़ॉल्ट गवर्नर को कैसे बदलें?


12

मैं अपने pi पर डिफ़ॉल्ट गवर्नर को ondemand से प्रदर्शन में बदलना चाहता हूं। क्या इसे करने का कोई तरीका है?

जवाबों:


21

मुझे नहीं लगता कि आप कर्नेल को फिर से देखे बिना डिफ़ॉल्ट को बदल सकते हैं । मेरे कहने का मतलब यह है कि बूट होने पर कर्नेल चुनता है।

हालाँकि, आप इसे रनिंग के दौरान एक अलग गवर्नर का उपयोग करने के लिए कह सकते हैं, इसलिए यदि आप बिना रीकॉम्पलिंग के प्रभावी रूप से डिफ़ॉल्ट सेट करना चाहते हैं, तो आप कुछ /etc/rc.localया कुछ अन्य स्टार्ट-अप स्क्रिप्ट में जोड़ सकते हैं ।

/sysनिर्देशिका डिस्क पर नहीं है, यह एक RAM फर्जी फाइलसिस्टम है जो वास्तव में जानकारी प्राप्त करने और कर्नेल को कमांड भेजने के लिए एक इंटरफ़ेस है। यह सब सापेक्ष है /sys/devices/system/cpu, इसलिए:

> cd /sys/devices/system/cpu

आपको राइट्स ( echo blahblah >) करने के लिए रूट होने की भी जरूरत है । वैसे भी, उपर्युक्त निर्देशिका के सापेक्ष, उपलब्ध राज्यपालों को देखने के लिए:

> cat cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance

जाहिरा तौर पर तुम्हारा है ondemand(लेकिन इस बारे में नीचे "गोत्चा" पढ़ें ); जाँच करने के लिए:

> cat cpu0/cpufreq/scaling_governor
ondemand

इसे बदलने के लिए:

echo performance > cpu0/cpufreq/scaling_governor

ध्यान दें कि इसे या तो रूट करना है, या इस तरह करना है

sudo sh -c "echo performance > cpu0/cpufreq/scaling_governor"

बस सादा sudo, कोई रीडायरेक्ट है क्योंकि वहाँ काम नहीं करेगा >

अब आप /sys/devices/system/cpu/cpufreqनिर्देशिका को नोटिस करेंगे , ( /sys/devices/system/cpu/cpu0/cpufreqजो पहले जैसा नहीं है !), जिसमें पहले से ऑनडमैंड गवर्नर को कॉन्फ़िगर करने के लिए फाइलहैंडल थे, खाली है।


पकड़ लिया ...

रास्पियन पर एक इनिट स्क्रिप्ट है, भ्रमित नाम raspi-config(नहीं, इसका दूसरे के साथ कोई लेना-देना नहीं है, जिसे पहले बूट पर भी भ्रमित नाम से चलाया जाता है apply_noobs_os_config.sh), जो इस तकनीक का उपयोग गवर्नर को ondemandशिफ्ट कुंजी तक सेट करने के लिए करता है। नीचे रखा गया है (स्टॉक रस्पियन कर्नेल को powersaveसंकलित किया गया है)। यह कुछ और नहीं करता है, इसलिए इसे अक्षम करना सुरक्षित है ( systemctl disable raspi-config), या आप इसे गोरकामकोर्का के उत्तर के अनुसार संपादित कर सकते हैं , लेकिन फिर आप इसे सिस्टम अपडेट द्वारा अन-एडिट होने का जोखिम चलाते हैं, आदि - कौन जानता है कि किसी की क्या योजना है।

आप ऊपर गैर-सूडो संस्करण को जोड़ने का प्रयास कर सकते हैं /etc/rc.localraspi-configस्क्रिप्ट से बाहर निकलने के बाद ऐसा हो सकता है ।


टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
गोल्डीलॉक्स

2
इसके बजाय रूट पर स्विच करने की आवश्यकता होती है, बस उपयोग teeकरें echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor:।
नकली नाम

2
अन्य तरीका: sudo श -c "गूंज प्रदर्शन> cpu0 / cpufreq / scaling_governor"
Moonchild

चूंकि रास्पियन डेबियन पर आधारित है, इसलिए आपको पैकेज खोजने में सक्षम होना चाहिए cpufrequtilsऔर sysfsutils। उन्हें स्थापित करने के बाद, आप राज्यपाल और अन्य मापदंडों को सेट कर सकते हैं /etc/default/cpufrequtilsऔर /etc/sysfs.conf- यहाँ देखें: wiki.debian.org/HowTo/CpuFrequencyScaling
mbirth


3

आरपीआई स्टैक एक्सचेंज पर इसी तरह का सवाल यहां है।

इसे बदलने के लिए, जब सीपीयू 95% व्यस्त है, तो ऑन डिमांड स्पीड अधिकतम हो जाती है। आप व्यस्त समय की मात्रा को कम प्रतिशत तक ले जा सकते हैं (इसका अर्थ है कि यह तब व्यस्त होगा जब अधिक व्यस्त हो)

"किसी फ़ाइल के लिए पूर्णांक मान लिखना (आप /etc/rc.local स्टार्टअप फ़ाइल में उदाहरण के लिए निम्न डाल सकते हैं): echo 60> / sys / devices / system / cpu / cpufreq / ondemand / up_threshold"

इसलिए, सैद्धांतिक रूप से ... आप इस प्रतिशत को 10 या 5 की तरह अविश्वसनीय रूप से कम पर रख सकते हैं, जिसका मतलब है कि यह हमेशा अधिकतम पर चलेगा।

उम्मीद है की यह मदद करेगा। लिंक किए गए लेख में इसे पोस्ट करने वाले व्यक्ति का स्कोर सुनिश्चित करें!


3
यही कारण है कि वास्तव में प्रश्न का उत्तर नहीं है, "मैं कैसे से ondemand प्रदर्शन (वे दो हैं करने के लिए राज्यपाल बदल सकता हूँ अलग गवर्नर)।
गोल्डीलॉक्स

1
@goldilocks मुझे लगता है कि यह उत्तर अभी भी क्सेटिटोन के लिए कुछ उपयोगी है क्योंकि यह बताता है कि कैसे एक को दूसरे की तरह व्यवहार करना है।
दिमित्री ग्रिगोरीव

2

एक वैकल्पिक समाधान (यदि आप रास्पियन चला रहे हैं) init.d स्क्रिप्ट को /etc/init.d/raspi-config में हमेशा स्केलिंग गवर्नर को अक्षम करने के लिए संशोधित किया जा सकता है। यह डिफ़ॉल्ट व्यवहार केवल स्टार्टअप पर इसे सक्षम करने के लिए है यदि शिफ्ट-की में से एक को नीचे दबाया जा रहा है:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          raspi-config
# Required-Start: udev mountkernfs $remote_fs
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Switch to ondemand cpu governor (unless shift key is pressed)
# Description:
### END INIT INFO

. /lib/lsb/init-functions

case "$1" in
  start)
    log_daemon_msg "Checking if shift key is held down"
    timeout 1 thd --dump /dev/input/event* | grep -q "LEFTSHIFT\|RIGHTSHIFT"
    if [ $? -eq 0 ]; then
      printf " Yes. Not enabling ondemand scaling governor"
      log_end_msg 0
    else
      printf " No. Switching to ondemand scaling governor"
      SYS_CPUFREQ_GOVERNOR=/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor      if [ -e $SYS_CPUFREQ_GOVERNOR ]; t
hen
        echo "ondemand" > $SYS_CPUFREQ_GOVERNOR
        echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
        echo 100000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
        echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
        echo 1 | sudo tee /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
      fi
      log_end_msg 0
    fi
    ;;
  *)
    echo "Usage: $0 start" >&2
    exit 3
    ;;
esac

-3

गूंज "प्रदर्शन" | sudo tee / sys / devices / system / cpu / cpu0 / cpufreq / scaling_governor


हालांकि यह प्रश्न का उत्तर दे सकता है, अच्छे उत्तरों के लिए आपके द्वारा प्रदान की गई जानकारी से अधिक जानकारी की आवश्यकता होती है। इसके अलावा, आपके उत्तर में ऐसा कुछ भी नहीं है जो उपरोक्त उत्तर पहले से प्रदान नहीं किया है।
स्टीव रोबिलार्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.