जवाबों:
मुझे नहीं लगता कि आप कर्नेल को फिर से देखे बिना डिफ़ॉल्ट को बदल सकते हैं । मेरे कहने का मतलब यह है कि बूट होने पर कर्नेल चुनता है।
हालाँकि, आप इसे रनिंग के दौरान एक अलग गवर्नर का उपयोग करने के लिए कह सकते हैं, इसलिए यदि आप बिना रीकॉम्पलिंग के प्रभावी रूप से डिफ़ॉल्ट सेट करना चाहते हैं, तो आप कुछ /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.local
। raspi-config
स्क्रिप्ट से बाहर निकलने के बाद ऐसा हो सकता है ।
tee
करें echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
:।
cpufrequtils
और sysfsutils
। उन्हें स्थापित करने के बाद, आप राज्यपाल और अन्य मापदंडों को सेट कर सकते हैं /etc/default/cpufrequtils
और /etc/sysfs.conf
- यहाँ देखें: wiki.debian.org/HowTo/CpuFrequencyScaling
मैंने इसे बदलने के लिए एक छोटा सा प्रोग्राम बनाया और इसे प्रत्येक बूट को स्वचालित रूप से एक init.d स्क्रिप्ट बनाकर बदल दिया।
आरपीआई स्टैक एक्सचेंज पर इसी तरह का सवाल यहां है।
इसे बदलने के लिए, जब सीपीयू 95% व्यस्त है, तो ऑन डिमांड स्पीड अधिकतम हो जाती है। आप व्यस्त समय की मात्रा को कम प्रतिशत तक ले जा सकते हैं (इसका अर्थ है कि यह तब व्यस्त होगा जब अधिक व्यस्त हो)
"किसी फ़ाइल के लिए पूर्णांक मान लिखना (आप /etc/rc.local स्टार्टअप फ़ाइल में उदाहरण के लिए निम्न डाल सकते हैं): echo 60> / sys / devices / system / cpu / cpufreq / ondemand / up_threshold"
इसलिए, सैद्धांतिक रूप से ... आप इस प्रतिशत को 10 या 5 की तरह अविश्वसनीय रूप से कम पर रख सकते हैं, जिसका मतलब है कि यह हमेशा अधिकतम पर चलेगा।
उम्मीद है की यह मदद करेगा। लिंक किए गए लेख में इसे पोस्ट करने वाले व्यक्ति का स्कोर सुनिश्चित करें!
एक वैकल्पिक समाधान (यदि आप रास्पियन चला रहे हैं) 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
गूंज "प्रदर्शन" | sudo tee / sys / devices / system / cpu / cpu0 / cpufreq / scaling_governor