Yanıtlar:
Çekirdeği yeniden derlemeden varsayılanı değiştirebileceğinizi sanmıyorum . Demek istediğim, çekirdeğin açıldığında seçtiği çekirdek.
Bununla birlikte, çalışırken farklı bir vali kullanmasını söyleyebilirsiniz, bu nedenle varsayılanı yeniden derlemeden etkili bir şekilde ayarlamak istiyorsanız, bir /etc/rc.local
başlangıç komut dosyasına bir şey veya başka bir başlangıç komut dosyası ekleyebilirsiniz .
/sys
Dizin diskte değildir; aslında çekirdekten bilgi almak ve komutlar göndermek için bir arayüz olan bir RAM sahte dosya sistemidir. Bunların hepsi göreceli /sys/devices/system/cpu
, yani:
> cd /sys/devices/system/cpu
Ayrıca writes ( echo blahblah >
) yapmak için root olmanız gerekir . Her neyse, yukarıdaki dizine göre, mevcut düzenleyicileri görmek için:
> cat cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance
Görünüşe göre seninki ondemand
(ama bu konuda aşağıda "Gotcha" okuyun ); kontrol etmek:
> cat cpu0/cpufreq/scaling_governor
ondemand
Değiştirmek için:
echo performance > cpu0/cpufreq/scaling_governor
Bunun ya kök yapılması ya da bunun gibi olması gerektiğini unutmayın
sudo sh -c "echo performance > cpu0/cpufreq/scaling_governor"
Sadece düz sudo
çalışmaz çünkü bir yönlendirme var >
.
Artık ondemand valisini yapılandırmak için daha önce dosya tanıtıcıları içeren /sys/devices/system/cpu/cpufreq
dizinin /sys/devices/system/cpu/cpu0/cpufreq
boş olduğunu fark edeceksiniz ( ! İle aynı DEĞİL !).
Raspbian'da, kafa karıştırıcı olarak adlandırılan raspi-config
(hayır, kafa karıştırıcı olarak adlandırılan tarafından ilk önyüklemede çalıştırılan diğeriyle ilgisi yok) bir init komut dosyası var, apply_noobs_os_config.sh
bu da valiyi ondemand
shift tuşu olmadığı sürece ayarlamak için kullanıyor basılı tutulur (stok Raspbian çekirdeği powersave
derlenmiştir). Başka bir şey yapmaz, bu yüzden bunu devre dışı bırakmak güvenlidir ( systemctl disable raspi-config
) veya Gorkamorka'nın cevabına göre düzenleyebilirsiniz , ancak daha sonra bir sistem güncellemesi vb. Tarafından düzenlenmemiş olma riskini taşırsınız . bununla ne yapmayı planladığını bilir.
Yukarıdaki sudo olmayan sürümü eklemeyi deneyebilirsiniz /etc/rc.local
. Bu raspi-config
komut dosyası çıktıktan sonra olabilir .
tee
: echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
.
cpufrequtils
ve sysfsutils
. Bunları kurduktan sonra, valiyi ve diğer parametreleri /etc/default/cpufrequtils
ve arasında ayarlayabilirsiniz/etc/sysfs.conf
Bunu değiştirmek ve otomatik olarak bir init.d komut dosyası oluşturarak her önyüklemenin değiştirilmesine izin vermek için küçük bir program yaptım.
RPi yığın değişimi burada benzer bir soru .
başka bir deyişle, CPU% 95 meşgul olduğunda talep üzerine hız maks. Meşgul süresi miktarını daha düşük bir yüzdeye düşürebilirsiniz (yani meşgul olmadığında daha yüksek saat hızı elde edilir):
"bir dosyaya bir tamsayı değeri yazma (örneğin /etc/rc.local başlangıç dosyasına şunları koyabilirsiniz): echo 60> / sys / Devices / system / cpu / cpufreq / ondemand / up_threshold"
yani, teorik olarak ... bu yüzdeyi 10 veya 5 gibi inanılmaz derecede düşük bir şeye koyabilirsiniz, bu da her zaman maksimumda çalışacağı anlamına gelir.
Bu yardımcı olur umarım. Bağlantılı makalede bunu gönderen kişi puan emin olun!
Alternatif bir çözüm (Raspbian çalıştırıyorsanız), ölçeklendirme düzenleyicisini her zaman devre dışı bırakmak için /etc/init.d/raspi-config dosyasındaki init.d komut dosyasını değiştirmek olabilir. Varsayılan davranışı, başlangıçta yalnızca üst karakter tuşlarından birine basıldığında etkinleştirmektir:
#!/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
echo "performans" | sudo tee / sys / cihazlar / sistem / cpu / cpu0 / cpufreq / scaling_governor