Ubuntu'da Intel Turbo Boost'u devre dışı bırakma


17

Ubuntu'da yeniyim ve turbo güçlendirmeyi devre dışı bırakmak istiyorum. Ben denedim cpufreqama 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ı.


cpu modelin nedir?
Ron

@Ron: Intel (R) Pentium (R) CPU B960 @ 2.20GHz Taşındığı sohbetten bilgi aldım. Bence önemli değil, önemli olan hangi ölçeklendirme sürücüsünün kullanıldığı. Şu anda (geçmişten farklı olan) işlemci destekliyorsa varsayılan olarak intel_pstate olacaktır.
Doug Smythies

çocuklar, ben denedim: sudo cpupower frekans-set -g güç tasarrufu ve diyor ki: cpu ayarı: 0 Ayar cpu: 1 Peki hangi çekirdek değiştirmek için nereye koymak? :)
Ivaylo

Hangi ölçeklendirme sürücüsünü kullanırsanız kullanın, turbo etkin olsun ya da olmasın genel bir ayardır, bir nokta tüm CPU'ları kapsar. Kendim, sadece ilkel komutları kullanıyorum, asla daha üst düzey araçlar gibi cpupower.
Doug Smythies

Yanıtlar:


18

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

Çözüm bu blog için geçerli


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

Yorumlar uzun tartışmalar için değildir; bu görüşme sohbete taşındı .
Mitch

$ rdmsr -pi 0x1a0 -f 38:38bana 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?
Sir hennihau

30

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
İzinlerle

Bu, yeniden başlatıldıktan sonra kalacak şekilde kalıcı olarak ayarlanabilir mi?
Alexey

@Alexey: Kalıcı olmasını istiyorsanız, bunun yerine BIOS'ta yapılmasını öneririm. Aksi takdirde, yukarıdaki set_cpu_turbo_offkomut dosyasını başlatma sırasında çalıştırabilirsiniz.
Doug Smythies

1
@ Cirelli94 - buna rağmen: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

1
Nedense, Ubuntu Server 14'te bunun benim için bir etkisi sudo wrmsr --all 0x1a0 0x4000850089yok.
sudo

2

/sys/devices/system/cpu/cpufreq/boostDeğeri 0 olarak ayarlamayı deneyebilirsiniz .

echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost

1
böyle bir dosya veya dizin yok diyor
Ivaylo

@Ron Bu cevabı, nasıl yapılacağına dair bir açıklama ile genişletmenizi tavsiye ederim.
Eliah Kagan

2
Eliah'ın yorumuna katılıyorum. Frekans ölçeklendirme sürücüsünün acpi-cpufreq olması doğru bir cevaptır.
Doug Smythies
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.