Частота процессора в 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/. В этой папке уже лежит пример профиля, но рассматривать этот процесс подробнее мы не будем.


Добавить комментарий

Автору будет очень приятно получить обратную связь.

Комментариев 0