Ubuntu'da yeniyim ve turbo güçlendirmeyi devre dışı bırakmak istiyorum. Ben denedim cpufreq
ama işe alamıyorum. bunu yapmanın başka bir yolu var mı?
Pencerelerde CPU hızını 100'den 99'a değiştirmek kadar kolaydı.
cpupower
.
Ubuntu'da yeniyim ve turbo güçlendirmeyi devre dışı bırakmak istiyorum. Ben denedim cpufreq
ama işe alamıyorum. bunu yapmanın başka bir yolu var mı?
Pencerelerde CPU hızını 100'den 99'a değiştirmek kadar kolaydı.
cpupower
.
Yanıtlar:
Turbo Boost'un mevcut durumunu okumak için msr araçlarını kurmamız gerekiyor
sudo apt-get install msr-tools
Turbo Boost özelliğinin devre dışı olup olmadığını öğrenmek için şunu çalıştırın:
rdmsr -pi 0x1a0 -f 38:38
1=disabled
0=enabled
İ yerine çekirdek numaranızı yazın
NOT: Aşağıdaki hatayı alırsanız:
rdmsr:open: No such file or directory
daha sonra aşağıdaki komutu kullanarak “msr” modülünü yükleyin:
sudo modprobe msr
Turbo Boost özelliğini devre dışı bırakmak için, 0x1a0 MSR kaydının tamamını burada olduğu gibi 0x4000850089 olarak ayarlayabilirsiniz:
wrmsr -pC 0x1a0 0x4000850089
C'nin belirli bir çekirdek numarasını ifade ettiği durumlarda
bu numarayı çalıştırarak alabilirsiniz
cat /proc/cpuinfo | grep processor
sonra sayılarınızı öğrendikten sonra her bir çekirdek için yukarıdaki komutu çalıştırmanız gerekir. senin durumunda numaralar 0 ve 1 olur, bu yüzden yapmalısın
wrmsr -p0 0x1a0 0x4000850089
wrmsr -p1 0x1a0 0x4000850089
Gönderen http://notepad2.blogspot.com/2014/11/a-script-to-turn-off-intel-cpu-turbo.html
Turbo güçlendirmeyi devre dışı bırakan / etkinleştiren bir komut dosyası
Turbo güçlendirmeyi kapatmak / açmak için aşağıdaki komut dosyası kullanılabilir:
#!/bin/bash
if [[ -z $(which rdmsr) ]]; then
echo "msr-tools is not installed. Run 'sudo apt-get install msr-tools' to install it." >&2
exit 1
fi
if [[ ! -z $1 && $1 != "enable" && $1 != "disable" ]]; then
echo "Invalid argument: $1" >&2
echo ""
echo "Usage: $(basename $0) [disable|enable]"
exit 1
fi
cores=$(cat /proc/cpuinfo | grep processor | awk '{print $3}')
for core in $cores; do
if [[ $1 == "disable" ]]; then
sudo wrmsr -p${core} 0x1a0 0x4000850089
fi
if [[ $1 == "enable" ]]; then
sudo wrmsr -p${core} 0x1a0 0x850089
fi
state=$(sudo rdmsr -p${core} 0x1a0 -f 38:38)
if [[ $state -eq 1 ]]; then
echo "core ${core}: disabled"
else
echo "core ${core}: enabled"
fi
done
bunu adlı bir dosyaya kaydet turbo-boost.sh
Kullanım: Yukarıdaki komut dosyasını kopyalayıp turbo-boost adlı bir dosyaya kaydedip çalıştırılabilir olarak ayarlayabilirsiniz:
sudo chmod +x turbo-boost.sh
daha sonra turbo güçlendirmeyi devre dışı bırakmak / etkinleştirmek için kullanabilirsiniz:
./turbo-boost.sh disable
./turbo-boost.sh enable
$ rdmsr -pi 0x1a0 -f 38:38
bana komutla kullanılacak seçeneklerin bir listesini verir. Örneğin: Usage: rdmsr [options] regno --help -h Print this help --version -V Print current version ....
Yukarıdaki sözdizimi eski / genel olarak uygulanmıyor mu?
Sisteminiz intel_pstate frekans ölçeklendirme sürücüsünü kullanıyorsa:
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
Ardından turbo etkin veya devre dışı durumu hakkında bilgi alabilirsiniz:
$ cat /sys/devices/system/cpu/intel_pstate/no_turbo
0
0, turbo'nun etkin ve 1'in devre dışı olduğu anlamına gelir. Ve aynı konuma (sudo olarak) yazarak değiştirebilirsiniz.
$ echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
1
Konumu veya `` tee '' şeyin nasıl düzgün bir şekilde yapılacağını asla hatırlamıyorum, bu yüzden komut dosyalarının sudo olarak çalıştırılmasını tercih ederim:
$ cat set_cpu_turbo_off
#! /bin/bash
echo "1" > /sys/devices/system/cpu/intel_pstate/no_turbo
$ cat set_cpu_turbo_on
#! /bin/bash
echo "0" > /sys/devices/system/cpu/intel_pstate/no_turbo
sudo echo "0" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
set_cpu_turbo_off
komut dosyasını başlatma sırasında çalıştırabilirsiniz.
sudo echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo 1 tee: /sys/devices/system/cpu/intel_pstate/no_turbo: Operation not permitted
sudo wrmsr --all 0x1a0 0x4000850089
yok.
/sys/devices/system/cpu/cpufreq/boost
Değeri 0 olarak ayarlamayı deneyebilirsiniz .
echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost