Главная >> Инструкции >> Частота процессора в Linux

Частота процессора в Linux

Если вы уже пытались настраивать частоту Linux, то, наверное уже заметили, что частота процессора сама меняется в зависимости от нагрузки на систему. Операционная система устанавливает лимит минимальной и максимальной частоты, и когда нагрузки нет частота автоматически опускается до минимальной, а при появлении нагрузки подымается назад.

Конечно, в интерфейсе BIOS можно зафиксировать частоту на одном уровне, но в этом нет смысла. С точки зрения баланса производительности и энергопотребления лучше оставить всё как есть. Но правила изменения частоты можно настроить. Для этого используются политики CPU Governor. В этой статье мы рассмотрим как узнать частоту процессора Linux, а также как настроить её изменение.


Содержание статьи

Как узнать частоту процессора Linux

Узнать текущую частоту процессора можно вместе с другой информацией о нём с помощью утилиты lscpu:

lscpu

Здесь же выводится максимальная и минимальная частота. Текущую частоту для каждого ядра по отдельности вы можете посмотреть в файле /proc/cpuinfo:

cat /proc/cpuinfo

Так можно вывести информацию обо всех ядрах на одном экране:

cat /proc/cpuinfo | grep "cpu MHz"

Утилита lshw тоже выводит текущую и максимальную частоту в секции cpu:

lshw

Ну и hwinfo выводит нужную нам информацию. Правда, прежде надо её установить:

sudo apt install hwinfo

hwinfo --short --cpu

Если вы хотите отслеживать как меняется частота со временем используйте hwinfo в сочетании с утилитой watch:

watch hwinfo --short --cpu

Теперь вы знаете как посмотреть частоту процессора Linux, перейдём к управлению.

Управление частотой в Linux

Для управления частотой в операционной системе Linux используются политики CPU Governor. Они определяют как быстро будет изменятся частота при изменении нагрузки. Существует четыре политики:

  • powersave - процессор работает на минимальной частоте;
  • performance - процессор работает на максимальной частоте;
  • ondemand - динамическое изменение частоты, при появлении нагрузки резко устанавливается самая высокая частота, а при снижении нагрузки частота медленно снижается;
  • conservative - аналогично ondemand, только частота меняется более плавно;
  • userspace - использовать частоту заданную пользователем;
  • schedutil - изменение частоты на основе планировщика.

Самый выгодный в данном случае режим - это ondemand, частота повышается при необходимости и опускается если она не нужна. Чтобы посмотреть текущую политику управления частотой вам понадобится утилита cpupower, которую можно установить, установив этот пакет:

sudo apt install linux-tools-generic

Затем посмотрите информацию о процессоре:

cpupower frequency-info

Как видите, сейчас для управления частотой используется политика ondemand. Для установки политики используйте команду frequency-set и опцию -g. Например, для performance:

sudo cpupower frequency-set -g performance

Теперь частота гораздо выше, а используемая политика performance. Для того чтобы вручную менять частоту установите политику userspace:

sudo cpupower frequency-set -g userspace

Для установки максимальной частоты используйте опцию -u:

sudo cpupower frequency-set -u 3600Mhz

Для установки минимальной частоты - опцию -d:

sudo cpupower frequency-set -d 2300Mhz

А для изменения текущей частоты процессора - опцию -f:

sudo cpupower frequency-set -f 3500Mhz

Частота всё-равно будет немного колебаться, но эти колебания будут в пределах выбранного диапазона.

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

Если вы любите пользоваться графическим интерфейсом вместо команд, вам понравится утилита cpupower-gui. Она позволяет настроить все необходимые параметры в графическом интерфейсе. Для её установки выполните:

sudo apt install cpupower-gui

Для установки самой последней версии выполните такие команды:

echo 'deb http://download.opensuse.org/repositories/home:/erigas:/cpupower-gui/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/home:erigas:cpupower-gui.list
curl -fsSL https://download.opensuse.org/repositories/home:erigas:cpupower-gui/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home:erigas:cpupower-gui.gpg > /dev/null
sudo apt update
sudo apt install cpupower-gui

После завершения установки вы сможете найти программу в главном меню. Её окно выглядит вот так:

Утилита позволяет настроить максимальную и минимальную частоту, а также политику для каждого ядра по отдельности или для всех ядер вместе. Просто выберите нужные значения и нажмите кнопку Apply.

В отличие от консольных команд утилита позволяет устанавливать необходимые вам значения профиля и частоты при старте программы. Для этого в программе есть два профиля Balanced и Performance. Первый использует политику Powersave, а второй - Performance. Для того чтобы выбрать профиль по умолчанию надо отредактировать конфигурационный файл /etc/cpupower_gui.conf:

sudo vi /etc/cpupower_gui.conf

Измените значение параметра Profile на нужное и этот профиль будет выбираться по умолчанию при старте программы, останется только добавить её в автозагрузку. Кроме этих двух профилей можно создавать свои в папке /etc/cpupower_gui.d/. В этой папке уже лежит пример профиля, но рассматривать этот процесс подробнее мы не будем.

Выводы

В этой небольшой статье мы рассмотрели как меняется частота процессора Linux, как её настроить и зачем это необходимо.

Pеклама
Посмотреть детали

Если вы искали альтернативу почтовому сервису Gmail, который уважает вашу конфиденциальность, обратите внимание на ProtonMail. Ваши письма автоматически шифруются сквозным шифрованием, поэтому читать их можете только вы и получатель. ProtonMail не собирает ваши персональные данные и базируется в Швейцарии, где действуют одни из самых строгих законов о конфиденциальности. Посмотреть детали

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

6 комментариев к “Частота процессора в Linux”

  1. Отлично! Мне как раз нужно было выставить значение по умолчанию, а то после старта системы приходилось менять вручную.

    Ответить
  2. практически тоже самое управление есть в моём биосе: ~$ cat /proc/cpuinfo | grep "cpu MHz"
    cpu MHz : 800.016
    cpu MHz : 800.012
    cpu MHz : 800.051
    cpu MHz : 800.019
    cpu MHz : 800.004
    cpu MHz : 800.015
    cpu MHz : 800.003
    cpu MHz : 800.032
    Ставишь галочку напротив зелёного листика, у вуаля.
    А так да, когда то пользовался на старой материнке. Полезно.

    Ответить
  3. Спасибо за статью! Файрфокс грузит иногда ноут по полной, ноут жрет батарейку как не в себя. Выставил сегодня 400Мгц, было тихо и спокойнее за оставшееся время работыт)

    Ответить
  4. Отличная статья! Спасибо!!!
    у меня какое-то приложение разгоняло до максимума 1 из 16 ядер, а остальные 15 на каких-то очень низких частотах, отчего проц грелся и шумел кулером, установил лимит до половины от максимума, и теперь все ядра примерно поровну на четверти от максимальной частоты колеблются, т.е. каким-то образом это ограничение частоты активировало супер-эффективное распараллеливание!

    Ответить

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