Я новичок в Ubuntu и хочу отключить турбо-буст. Я пытался с, cpufreq
но я не могу заставить его работать. Есть ли другой способ сделать это.
В Windows это было так же просто, как изменить скорость процессора от 100 до 99.
cpupower
.
Я новичок в Ubuntu и хочу отключить турбо-буст. Я пытался с, cpufreq
но я не могу заставить его работать. Есть ли другой способ сделать это.
В Windows это было так же просто, как изменить скорость процессора от 100 до 99.
cpupower
.
Ответы:
Чтобы прочитать текущее состояние Turbo Boost, нам нужно установить msr-tools
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, можно установить для всего регистра MSR 0x1a0 значение 0x4000850089, как показано здесь:
wrmsr -pC 0x1a0 0x4000850089
Где C относится к конкретному номеру ядра
Вы можете получить это число, запустив
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
Использование: Вы можете скопировать приведенный выше скрипт и сохранить его в файл с именем turbo-boost, а затем установить его на исполняемый:
sudo chmod +x turbo-boost.sh
затем вы можете использовать его, чтобы отключить / включить турбо-буст:
./turbo-boost.sh disable
./turbo-boost.sh enable
$ rdmsr -pi 0x1a0 -f 38:38
дает мне просто список вариантов для использования с командой. Например: Usage: rdmsr [options] regno --help -h Print this help --version -V Print current version ....
является ли вышеуказанный синтаксис устаревшим / неприменимым в общем случае?
Если ваша система использует драйвер масштабирования частоты 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 означает, что Turbo включен, а 1 означает, что он отключен. И вы можете изменить его, написав (как sudo) в том же месте.
$ echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
1
Я никогда не помню местоположение или как правильно выполнить команду "tee", поэтому я предпочитаю запускать скрипты как 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
sudo echo "0" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
set_cpu_turbo_off
скрипт для запуска во время запуска.
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
делает свое дело.
Вы можете попробовать установить /sys/devices/system/cpu/cpufreq/boost
значение в 0.
echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost