Linux disable turbo boost

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Just an easy way to disable (and re-enable) Intel Turbo Boost using shell scripts.

MarceloSerra/Disable-Turbo-Boost-on-Linux-Based

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

readme.md

git clone https://github.com/MarceloSerra/Disable-Turbo-Boost-on-Linux

Go to the folder, extract and execute chmod inside to give permissions (* will give permissions to all files in the folder, but you can set to one file just changing * by file name):

Now it’s necessary to verify if you’ve got an intel scaling driver (intel_pstate) output:

If the output was (intel_pstate), you can continue and execute:

You can check the status by executing (0 output = ENABLED and 1 output = DISABLED):

You can also re-enable the Turbo Boost by executing:

Читайте также:  Линукс удалить все файлы старше

Источник

Prevent overheating by disabling turbo boost

psensor - edit sensor preferences

CPU throttling, PC shutting down abruptly, etc. These may be signs of overheating. Disabling Intel turbo boost may help. Screenshot above is the temperature range after disabling turbo boost.

Motivation

My laptop has first generation Intel Core i7 740QM. Its peak CPU core temperature hit a high of 97C (about 207 Fahrenheit) which is very close to its junction temperature of 100C.

Even if the processor could handle the heat, I was concerned about how the heat would affect interconnected components. One may argue that the brains who designed it ought to have thought about it but I beg to differ. The heat vent of the laptop blows directly onto the screen when the laptop lid is open. Take a look:

Dell Studio XPS 1645 - heat vent

When the CPU core temperature hits close to its junction temperature, throttling will begin taking effect and fans will be running at full speed generating loud noise.

Having more stable and predictable performance is what I prefer and disabling Intel Turbo Boost seemed like an easy win.

Solution

Disable Intel Turbo Boost (on Windows)

Tweak the maximum processor state to 99% via Power Options.

Windows - Power Options - Maximum processor state 99%

You do lose 1% of non-turbo boost speed as a result but this is likely to be negligible to you.

Disable Intel Turbo Boost (on Ubuntu)

Firstly, identify which frequency scaling driver is used by your Intel CPU.

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver 

If it is intel_pstate , the command to execute in order to disable turbo boost is:

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

If it is acpi_cpufreq , the command to execute is:

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

To have this command executed on startup, add it into crontab

Replace with the appropriate one for your machine.

Results

Peak temperatures are now about 20C (68F) lower.

psensor - temperature monitor

Quite an impressive drop! I did not run benchmarks but real world performance difference is not noticeable to me. Furthermore, throttling does not occur while gaming anymore.

Источник

Включение и отключение Turbo Boost в Linux

TurboBoost

Бывает нужно отключить Turbo Boost или наоборот включить его, так же узнать текущие состояние. В Linux это можно сделать без перезагрузки в BIOS. Мы рассмотрим с помощью каких команд узнать текущие состояние, так же изменим режим работы процессора с «энергосбережение» на «производительность», что заставит процессор работать более эффективно.

Читайте также:  Mounting cifs share linux

1. Текущие состояние Turbo Boost и его смена.

Установим необходимый пакет

Проверим текущие состоние, где -p0 — номер ядра:

1 = деактивирован
0 = активирован

rdmsr:open: No such file or directory

Нужно загрузить модуль msr в ядро:

Далее можно правя регистры включать или отключать Turbo Boost, но чтобы было проще, я нашел скрипт, который активирует или деактивирует его, без запоминания сложных регистров. Назовем его turbo-boost.sh:

#!/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 '') for core in $cores; do if [[ $1 == "disable" ]]; then sudo wrmsr -p$ 0x1a0 0x4000850089 fi if [[ $1 == "enable" ]]; then sudo wrmsr -p$ 0x1a0 0x850089 fi state=$(sudo rdmsr -p$ 0x1a0 -f 38:38) if [[ $state -eq 1 ]]; then echo "core $: disabled" else echo "core $: enabled" fi done

Теперь вы можете активировать/деактивировать Turbo Boost:

./turbo-boost.sh disable ./turbo-boost.sh enable

2. Управление режимом питания процессора, если используется intel_pstate:

Установим утилиту cpupower:

apt install linux-cpupower

Узнать текущие состояние 1-го ядра:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Возможные варианты: https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt.

Нас интересует режим performance, так как он дает наибольшую производительность. У вас возможно стоит powersave, как было у меня, поэтому сменим его.

cpupower frequency-set -g performance

На этом все, мы включили Turbo Boost и переключили режим работы процессора на максимальную производительность, так как нам нет смысла экономить электроэнергию на арендованом сервере в Дата Центре.

Еще дам команду, с помощью которой можно наблюдать за изменением частоты ядер процессора:

watch grep \"cpu MHz\" /proc/cpuinfo

CPU MHz

Игорь Горгуль

Оставить комментарий Отменить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

turboboost (Решено)

Здравствуйте! Узнал как отключать turboboost (echo «0» | sudo tee /sys/devices/system/cpu/cpufreq/boost) вот только после перезагрузки, значение снова «1». Подскажите, кто знает как решить проблему.
upd. У меня ноутбук, так что в биосе этих настроек нет.

9 комментариев

это можно сделать через конфигурирование TLP:
установите параметры в etc/default/tlp
TLP — конфигурация

Всегда есть быстрое простое неправильное решение.
быстрые простые правильные (иногда) ответы здесь t.me/manjarolinux

Нашел что-то похожее /etc/tlp.conf там есть параметры:
# Set the CPU «turbo boost» feature: 0=disable, 1=allow
# Requires an Intel Core i processor.
# Important:
# — This may conflict with your distribution’s governor settings
# — A value of 1 does *not* activate boosting, it just allows it
Default: # CPU_BOOST_ON_AC=1
# CPU_BOOST_ON_BAT=0
попробовал поставить значение # CPU_BOOST_ON_AC=0 раскомментировал эту строку, перезагружал-без изменений.
Не совсем понимаю, что надо сделать, чтобы это заработало.

Читайте также:  Lineage 2 под линукс

я не уверен, но полагаю, что нужно раскомментировать обе строки и оставить значения как есть(ну или поиграться с цифрами, комбинаций не так уж много), потом выполнить

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

Необходимо ядро Linux 3.7 и выше
Значение 1 не активирует режим, а только позволяет его использовать

Отправка специалистом технической поддержки ссылки на руководство по эксплуатации и другую документацию, не является отказом в предоставлении поддержки.
bash.org

Поигрался с цифрами-ноль эмоций. Правда там же есть ещё такие строки:
#CPU_SCALING_MIN_FREQ_ON_AC=0
#CPU_SCALING_MAX_FREQ_ON_AC=100
#CPU_SCALING_MIN_FREQ_ON_BAT=0
#CPU_SCALING_MAX_FREQ_ON_BAT=100
раскомментил, пробовал разные варианты, но эффект был один и тот же- процессор работал строго на частоте 1.2Ггц ни больше ни меньше.
В общем, спасибо за ответы, теперь хоть знаю где копать. Буду пробовать дальше.

И снова на просторах инета находил для себя решение путем задействования средств системд.

Внутри юнита (именовать файл можете как угодно, главное чтоб для себя понятно было):

[Unit] Description=Disable Turbo Boost in /sys/devices/system/cpu/cpufreq/boost [Service] Type=oneshot ExecStart=/bin/sh -c "echo 0 > /sys/devices/system/cpu/cpufreq/boost" ExecStop=/bin/sh -c "echo 1 > /sys/devices/system/cpu/cpufreq/boost" RemainAfterExit=yes [Install] WantedBy=multi-user.target

Сохраняем, активируем, смотрим. Делал так на своем старом буке HP. Работало как часы.

Проблема решена! Спасибо! Но почему-то попытки с десятой. Я раз за разом производил одни и те же действия, но сначала система не видела юнит, потом маскировала его, а потом запустила. Не знаю почему так, но всё заработало.
Если кому-нибудь пригодится, то вот что я сделал: через графический интерфейс создал файл turboboost.service в каталоге /etc/systemd/system, скопировал туда
[Unit]
Description=Disable Turbo Boost in /sys/devices/system/cpu/cpufreq/boost

[Service]
Type=oneshot
ExecStart=/bin/sh -c «echo 0 > /sys/devices/system/cpu/cpufreq/boost»
ExecStop=/bin/sh -c «echo 1 > /sys/devices/system/cpu/cpufreq/boost»
RemainAfterExit=yes

сделал его исполняемым, запустил при помощи команды systemctl start turboboost.service, поставил в автостарт при помощи команды systemctl enable turboboost.service, перезагрузил и всё заработало.

Да, извиняюсь. Забыл написать не менее важное уточнение.
Файл сервиса надо помещать по пути /etc/systemd/system/ или сразу от рута создавать там.
Еще вариант если драйвер управления частотой процессора Intel_pstate, путь и значения будут другие:

Intel_Pstate - /sys/devices/system/cpu/intel_pstate/no_turbo 1 - off 0 - on

Источник

Оцените статью
Adblock
detector