Поиск по сайту:

Отключить Turbo Boost/установить постоянную скорость процессора в Ubuntu 22.04/24.04

В этом руководстве показано, как отключить турбонаддув ЦП и/или установить постоянную максимальную (или минимальную) скорость ЦП в Ubuntu 22.04 и/или Ubuntu 24.04.

Отключение турбонаддува ограничит скорость вашего процессора, чтобы предотвратить превышение базовой частоты. Это полезно для экономии энергии и предотвращения перегрева компьютера. По выбору пользователь также может установить постоянную скорость процессора для минимального энергопотребления или максимальной производительности.

Сегодня у большинства машин на странице BIOS есть опция включения/выключения и даже изменения частоты процессора, однако она не является гибкой.

Для Linux в ядре есть инструмент под названием cpupower, который может выполнять эту работу из командной строки, а пользователь может включать/выключать турбонаддув через sysfs. У Gnome Desktop даже есть ГРАФИЧЕСКОЕ расширение (прокрутите вниз, чтобы увидеть шаг 4), чтобы упростить задачу.

1. Отключите турбонаддув одной командой:

В зависимости от драйвера масштабирования ЦП есть две команды для включения/отключения турбонаддува ЦП.

Сначала нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть окна терминала, а затем соответствующим образом выполните следующие команды.

Для драйвера intel_pstate

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

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

Команда должна вывести:

  • 0 — означает, что Turbo Boot включен!
  • 1 – Turbo Boost отключен!
  • Нет такого файла или каталога – вместо intel_pstate используется другой драйвер

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

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

Если 1, используйте команду, чтобы повторно включить эту функцию:

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

Для других драйверов масштабирования

Если первая команда выше выводит «Нет такого файла или каталога», значит используется другой драйвер масштабирования.

В этом случае запустите команду для проверки пыльника sysfs:

cat /sys/devices/system/cpu/cpufreq/boost

Кроме того, команда должна вывести либо 0, либо 1. Вы можете отключить турбо-буст, установив для него значение 1:

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

Отключить турбобуст при запуске

Команды выше работают до перезагрузки! При следующей загрузке ваша система восстановит изменения и по умолчанию включит функцию турбонаддува.

В этом случае вы можете создать службу systemd для автоматического запуска указанной выше команды во время загрузки системы.

Но почему бы не отключить его в настройках BIOS 🤔?

1. Для этого сначала запустите команду создания системной службы:

sudo nano /etc/systemd/system/boostoff.service

Команда создаст службу с именем boostoff.service и отредактирует ее в терминале. Когда он откроется, вставьте следующие строки:

[Unit]
Description=Disable Turbo Boost at startup

[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo"

[Install]
WantedBy=multi-user.target

ПРИМЕЧАНИЕ: для драйвера, отличного от intel_pstate, используйте /sys/devices/system/cpu/cpufreq/boost вместо жирного текста «ExeStart» ' ценить.

Завершив редактирование, нажмите Ctrl+S, чтобы сохранить файл, и Ctrl+X, чтобы выйти.

2. Наконец, включите службу, чтобы автоматически отключить турбонаддув при запуске:

systemctl enable boostoff.service

2. Установите минимальную, максимальную или постоянную скорость процессора.

Не отключая наддув, вы можете по выбору ограничить максимальную частоту или установить постоянную частоту процессора. Это можно сделать с помощью инструмента cpupower.

1. Сначала откройте терминал (Ctrl+Alt+T) и выполните команду, чтобы установить инструмент для текущего ядра Linux.

sudo apt install linux-tools-$(uname -r)

2. Затем вы можете запустить команду, чтобы проверить, какой драйвер масштабирования используется, минимальную и максимальную частоту процессора. поддерживается вашим оборудованием и т. д. информация.

cpupower frequency-info

3. Чтобы установить постоянную минимальную скорость процессора, просто запустите:

sudo cpupower frequency-set --max 800MHz

Эта команда ограничит максимальную скорость процессора до 800 МГц, что является минимальной скоростью согласно последнему снимку экрана. Измените число в соответствии с выходными данными cpupower Frequency-info.

Чтобы установить постоянную максимальную скорость процессора, запустите:

sudo cpupower frequency-set --min 4.30GHz --max 4.30GHz

Помимо 4,30 ГГц, в последней команде вы можете установить любую скорость, выходящую за рамки возможностей вашего процессора. Он попытается работать на максимальной скорости. Если турбобуст отключен, то базовая частота.

По выбору вы также можете установить определенную скорость процессора, выполнив команду (например, 2000 МГц):

sudo cpupower frequency-set --freq 2000Mhz

Начиная с версии ядра 6.6 появилась возможность отключить турбонаддув. Но не знаю почему, в моем случае для процессора Intel это не работает.

sudo cpupower set --turbo-boost 0

Отключить демон профиля мощности GNOME

Для рабочего стола GNOME по умолчанию встроенные настройки режима питания могут конфликтовать с приведенными выше командами cpupower.

В этом случае вы можете отключить демон power-profiles-daemon, выполнив две команды ниже:

  • Сначала откройте терминал и остановите службу:

    systemctl stop power-profiles-daemon.service
  • Затем замаскируйте его, чтобы предотвратить автоматический запуск при следующей загрузке:

    systemctl mask power-profiles-daemon.service

(Необязательно) Чтобы повторно включить службу, запустите:

systemctl unmask power-profiles-daemon.service
systemctl start power-profiles-daemon.service

Заставить параметр cpupower работать при следующей загрузке

Как и команда отключения турбобуста, cpupower работает до перезагрузки!

Чтобы он работал при запуске, сначала создайте сервис:

  • Создайте системную службу (некоторые Linux создают службу автоматически после установки инструмента):

    sudo nano /etc/systemd/system/cpupower.service
  • Затем вставьте следующие строки и сохраните их, нажав Ctrl+S, затем Ctrl+X. Кроме того, соответствующим образом измените команду, выделенную жирным шрифтом.

    [Unit]
    Description=Adjust CPU speed via cpupower
    
    [Service]
    Type=oneshot
    ExecStart=/bin/sh -c "cpupower frequency-set --max 800MHz"
    
    [Install]
    WantedBy=multi-user.target

Затем включите службу с помощью команды:

systemctl enable cpupower.service

3. Проверьте скорость процессора в реальном времени.

После (или во время) внесения изменений вы можете отслеживать скорость процессора в реальном времени, выполнив команду:

watch -n1 "grep \"^[c]pu MHz\" /proc/cpuinfo"

Он отображает частоту всех ядер процессора и обновляется каждую секунду.

4. Используйте графический инструмент для управления скоростью процессора.

Если вы ищете графический инструмент для управления мощностью и частотой процессора, я написал об этом в следующих руководствах. Они включают:

  • CPUPower-GUI, который работает в большинстве Linux. С его помощью вы включаете/отключаете ядра ЦП, устанавливаете минимальную/максимальную частоту для каждого ядра, устанавливаете профиль по умолчанию при загрузке и т. д.

  • Для рабочего стола GNOME по умолчанию я сейчас использую расширение cpufreq. Он показывает частоту в реальном времени на верхней панели и предоставляет диалоговое окно Настройки для установки минимальной/максимальной частоты, включения/выключения ядер ЦП и турбонаддува, а также управления профилем и регулятором.

Статьи по данной тематике