Я новачок в Ubuntu і хочу відключити турбо-імпульс. Я спробував, cpufreq
але я не можу змусити його працювати. чи є інший спосіб це зробити.
У Windows це було так просто, як змінити швидкість процесора з 100 на 99.
cpupower
.
Я новачок в Ubuntu і хочу відключити турбо-імпульс. Я спробував, cpufreq
але я не можу змусити його працювати. чи є інший спосіб це зробити.
У Windows це було так просто, як змінити швидкість процесора з 100 на 99.
cpupower
.
Відповіді:
Щоб прочитати поточний стан Turbo Boost, нам потрібно встановити msr-інструменти
sudo apt-get install msr-tools
Щоб знати, чи відключена функція Turbo Boost, запустіть:
rdmsr -pi 0x1a0 -f 38:38
1=disabled
0=enabled
Замініть я своїм номером ядер
ПРИМІТКА: Якщо ви отримаєте таку помилку:
rdmsr:open: No such file or directory
потім завантажте модуль "msr" за допомогою наступної команди:
sudo modprobe msr
Щоб відключити функцію Turbo Boost, можна встановити весь регістр MSR 0x1a0 на 0x4000850089, як тут:
wrmsr -pC 0x1a0 0x4000850089
Де С посилається на певне число ядра
Ви можете отримати це число, запустивши
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 означає, що турбо включено, а 1 означає, що він відключений. І ви можете змінити його, написавши (як судо) на те саме місце.
$ 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
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