Отключение Intel Turbo Boost в человечности

Я плохо знаком с Ubuntu и хочу отключить турбо повышение. Я попробовал cpufreq но я не могу заставить это работать. есть ли любой другой способ сделать это.

В окнах это было столь же легко как изменение скорости ЦП от 100 до 99.

17
задан 5 May 2015 в 22:42

4 ответа

Для чтения текущего состояния Турбо Повышения мы должны установить msr-инструменты

sudo apt-get install msr-tools

Чтобы знать, отключена ли опция Turbo Boost, работайте:

rdmsr -pi 0x1a0 -f 38:38

1=disabled
0=enabled

Замените i своим числом ядер


Примечание: Если Вы получаете следующую ошибку:

rdmsr:open: No such file or directory

затем загрузите “msr” модуль следующей командой:

sudo modprobe msr

Для отключения опции Turbo Boost можно установить весь регистр 0x1a0 MSR на 0x4000850089, как в здесь:

wrmsr -pC 0x1a0 0x4000850089

Где C относится к конкретному базовому числу

ou может получить это число путем выполнения

cat /proc/cpuinfo | grep processor

затем, после того как Вы знаете свои числа, необходимо выполнить команду выше для каждого ядра. в Ваших номерах дел был бы 0 и 1, таким образом, необходимо сделать

wrmsr -p0 0x1a0 0x4000850089

wrmsr -p1 0x1a0 0x4000850089

Решение обозначает этот блог


Из http://notepad2.blogspot.com/2014/11/a-script-to-turn-off-intel-cpu-turbo.html

Сценарий для отключения/разрешения турбо повышения

Следующий сценарий может использоваться для превращения от/на турбо повышения:

#!/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

сохраните это в названный файл turbo-boost.sh

Использование: можно скопировать вышеупомянутый сценарий и сохранить его в файл, названный существенным повышением, затем устанавливает его, чтобы быть исполняемым файлом:

sudo chmod +x turbo-boost.sh

можно затем использовать его для отключения/разрешения турбо повышения:

./turbo-boost.sh disable
./turbo-boost.sh enable
18
ответ дан 23 November 2019 в 02:16

Если Ваша система использует intel_pstate драйвер частотного масштабирования:

$ 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

Тогда можно запросить относительно турбо, включил или отключил состояние:

$ cat /sys/devices/system/cpu/intel_pstate/no_turbo
0

, Где 0 турбо средств включены и 1 средство, это отключено. И можно изменить его путем записи (как sudo) к тому же местоположению.

$ echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
1

я никогда не помню местоположение или как сделать вещь 'мишени' правильно, таким образом, я предпочитаю, чтобы сценарии были выполнены как sudo:

$ 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
29
ответ дан 23 November 2019 в 02:16

Можно попробовать значение установки /sys/devices/system/cpu/cpufreq/boost к 0.

echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost
2
ответ дан 23 November 2019 в 02:16

В моем случае это работает:

echo "0" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
0
ответ дан 21 May 2020 в 08:08

Другие вопросы по тегам:

Похожие вопросы: