- CPU frequency scaling
- Contents
- Userspace tools
- thermald
- cpupower
- cpupower-gui
- turbostat
- CPU frequency driver
- Setting maximum and minimum frequencies
- cpupower-GUI – A Simple Graphical Tool to Adjust CPU Frequency
- How to Install cpupower-gui in Ubuntu:
- Share this:
- 3 responses to cpupower-GUI – A Simple Graphical Tool to Adjust CPU Frequency
- Частота процессора в Linux
- Как узнать частоту процессора Linux
- Управление частотой в Linux
- Частота процессора в Linux
- Как узнать частоту процессора Linux
- Управление частотой в Linux
- Выводы
CPU frequency scaling
CPU frequency scaling enables the operating system to scale the CPU frequency up or down in order to save power. CPU frequencies can be scaled automatically depending on the system load, in response to ACPI events, or manually by userspace programs.
CPU frequency scaling is implemented in the Linux kernel, the infrastructure is called cpufreq. Since kernel 3.4 the necessary modules are loaded automatically. For older kernels or CPUs, the recommended ondemand governor is enabled by default, whereas for newer kernels or CPUs, the schedutil governor is enabled by default. However, userspace tools like cpupower, acpid, Laptop Mode Tools, or GUI tools provided for your desktop environment, may still be used for advanced configuration.
Contents
Userspace tools
thermald
thermald is a Linux daemon used to prevent the overheating of Intel CPUs. This daemon monitors temperature and applies compensation using available cooling methods.
By default, it monitors CPU temperature using available CPU digital temperature sensors and maintains CPU temperature under control, before HW takes aggressive correction action. If there is a skin temperature sensor in thermal sysfs, then it tries to keep skin temperature under 45C.
The associated systemd unit is thermald.service , which should be started and enabled.
i7z is an i7 (and now i3, i5, i7, i9) CPU reporting tool for Linux. It can be launched from a Terminal with the command i7z or as GUI with i7z-gui .
cpupower
cpupower is a set of userspace utilities designed to assist with CPU frequency scaling. The package is not required to use scaling, but is highly recommended because it provides useful command-line utilities and a systemd service to change the governor at boot.
The configuration file for cpupower is located in /etc/default/cpupower . This configuration file is read by a bash script in /usr/lib/systemd/scripts/cpupower which is activated by systemd with cpupower.service . You may want to enable cpupower.service to start at boot.
cpupower-gui
cpupower-gui AUR is a graphical utility designed to assist with CPU frequency scaling. The GUI is based on GTK and is meant to provide the same options as cpupower. cpupower-gui can change the maximum/minimum CPU frequency and governor for each core. The application handles privilege granting through polkit and allows any logged-in user in the wheel user group to change the frequency and governor.
turbostat
turbostat can display the frequency, power consumption, idle status and other statistics of the modern Intel and AMD CPUs.
CPU frequency driver
cpupower requires modules to know the limits of the native CPU:
Module | Description |
---|---|
intel_pstate | This driver implements a scaling driver with an internal governor for Intel Core (Sandy Bridge and newer) processors. |
intel_cpufreq | Starting with kernel 5.7, the intel_pstate scaling driver selects «passive mode» aka intel_cpufreq for CPUs that do not support hardware-managed P-states (HWP), i.e. Intel Core i 5th generation or older. |
acpi-cpufreq | CPUFreq driver which utilizes the ACPI Processor Performance States. This driver also supports the Intel Enhanced SpeedStep (previously supported by the deprecated speedstep-centrino module). |
speedstep-lib | CPUFreq driver for Intel SpeedStep-enabled processors (mostly Atoms and older Pentiums) |
powernow-k8 | CPUFreq driver for K8/K10 Athlon 64/Opteron/Phenom processors. Since Linux 3.7 ‘acpi-cpufreq’ will automatically be used for more modern AMD CPUs. |
pcc-cpufreq | This driver supports Processor Clocking Control interface by Hewlett-Packard and Microsoft Corporation which is useful on some ProLiant servers. |
p4-clockmod | CPUFreq driver for Intel Pentium 4/Xeon/Celeron processors which lowers the CPU temperature by skipping clocks. (You probably want to use a SpeedStep driver instead.) |
To see a full list of available modules, run:
Load the appropriate module (see Kernel modules for details). Once the appropriate cpufreq driver is loaded, detailed information about the CPU(s) can be displayed by running
Setting maximum and minimum frequencies
In some cases, it may be necessary to manually set maximum and minimum frequencies.
To set the maximum clock frequency ( clock_freq is a clock frequency with units: GHz, MHz):
To set the minimum clock frequency:
To set the CPU to run at a specified frequency:
Alternatively, you can set the frequency manually:
The available values can be found in /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies or similar. [1]
Источник
cpupower-GUI – A Simple Graphical Tool to Adjust CPU Frequency
CPUPower-GUI is a simple graphical utility allows to change the frequency limits of your cpu and its governor.
With the tool, you can easily change the frequency settings based on CPU core by adjusting the sliders and clicking apply button.
You can also change the cpu governor profiles, Performance and Balanced . And the profiles can be selected easily from the system tray indicator menu.
The software also offers an option to enable or disable a specific cpu via the online checkbox. If this checkbox is greyed-out, it means that this cpu is not allowed to go offline.
How to Install cpupower-gui in Ubuntu:
The software is available in Ubuntu universe repositories since Ubuntu 20.04. The package however is always old.
To get the most recent packages, go to opensuse build service page.
Download and install the .deb package either via Gdebi package installer or by running apt command in terminal:
For the source tarball and more about the utility, go to github project page.
Share this:
I’m a freelance blogger who started using Ubuntu in 2007 and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me via [email protected]
3 responses to cpupower-GUI – A Simple Graphical Tool to Adjust CPU Frequency
Doesn’t work on Ubuntu 20.10:
Traceback (most recent call last):
File “/usr/bin/cpupower-gui”, line 367, in
from cpupower_gui import main
File “/usr/share/cpupower-gui/cpupower_gui/main.py”, line 38, in
from .window import CpupowerGuiWindow
File “/usr/share/cpupower-gui/cpupower_gui/window.py”, line 23, in
gi.require_version(“Handy”, “1”)
File “/usr/lib/python3/dist-packages/gi/__init__.py”, line 129, in require_version
raise ValueError(‘Namespace %s not available for version %s’ %
ValueError: Namespace Handy not available for version 1
Unfortunately same on Mint
latest mint works with this version
however the icon on the bottom right hand corner does not work at all but the cpupower-gui from the start menu does work and it seems to be an older version than the one supplied here but it works!
so i removed the startup entry for the icon from at bottom right hand corner and just use the cpupower-gui from the start menu.
also i did not go past the entry below to install the startup applet as suggested in the link above but the applet installs itself irregardless.
FROM THE SITE ABOVE…
First, you need a way to see your actual CPU speed to see if any of these changes work.
watch grep \”cpu MHz\” /proc/cpuinfo
Changing to acpi-cpufreq CPU management driver
sudo apt-get update
sudo apt-get install acpi-support acpid acpi
The idea here is to replace the intel-pstate CPU power management driver with the acpi-cpufreq one. This allows for better performance and slightly more efficient power use in some cases, as shown here.
Disable intel-pstate in grub config
To disable the default intel-pstate driver, you need to
GRUB_CMDLINE_LINUX_DEFAULT=”i8042.reset quiet nosplash debug intel_pstate=disable”
After making our edits, we need to refresh grub:
cpufrequtils tool family
sudo apt-get install cpufreqd cpufrequtils indicator-cpufreq
sudo apt-get install -y linux-tools-$(uname -r)
# GUI for editing cpu power configs
sudo apt-get install cpupower-gui
so i went no further than that command but that gets an older working cpupower-gui!
Источник
Частота процессора в Linux
Если вы уже пытались настраивать частоту Linux, то, наверное уже заметили, что частота процессора сама меняется в зависимости от нагрузки на систему. Операционная система устанавливает лимит минимальной и максимальной частоты, и когда нагрузки нет частота автоматически опускается до минимальной, а при появлении нагрузки подымается назад.
Конечно, в интерфейсе BIOS можно зафиксировать частоту на одном уровне, но в этом нет смысла. С точки зрения баланса производительности и энергопотребления лучше оставить всё как есть. Но правила изменения частоты можно настроить. Для этого используются политики CPU Governor. В этой статье мы рассмотрим как узнать частоту процессора Linux, а также как настроить её изменение.
Как узнать частоту процессора Linux
Узнать текущую частоту процессора можно вместе с другой информацией о нём с помощью утилиты lscpu:
Здесь же выводится максимальная и минимальная частота. Текущую частоту для каждого ядра по отдельности вы можете посмотреть в файле /proc/cpuinfo:
Так можно вывести информацию обо всех ядрах на одном экране:
Утилита lshw тоже выводит текущую и максимальную частоту в секции cpu:
Ну и hwinfo выводит нужную нам информацию. Правда, прежде надо её установить:
Если вы хотите отслеживать как меняется частота со временем используйте hwinfo в сочетании с утилитой watch:
Теперь вы знаете как посмотреть частоту процессора Linux, перейдём к управлению.
Управление частотой в Linux
Для управления частотой в операционной системе Linux используются политики CPU Governor. Они определяют как быстро будет изменятся частота при изменении нагрузки. Существует четыре политики:
- powersave — процессор работает на минимальной частоте;
- performance — процессор работает на максимальной частоте;
- ondemand — динамическое изменение частоты, при появлении нагрузки резко устанавливается самая высокая частота, а при снижении нагрузки частота медленно снижается;
- conservative — аналогично ondemand, только частота меняется более плавно;
- userspace — использовать частоту заданную пользователем;
- schedutil — изменение частоты на основе планировщика.
Самый выгодный в данном случае режим — это ondemand, частота повышается при необходимости и опускается если она не нужна. Чтобы посмотреть текущую политику управления частотой вам понадобится утилита cpupower, которую можно установить, установив этот пакет:
Затем посмотрите информацию о процессоре:
Как видите, сейчас для управления частотой используется политика ondemand. Для установки политики используйте команду frequency-set и опцию -g. Например, для performance:
Теперь частота гораздо выше, а используемая политика performance. Для того чтобы вручную менять частоту установите политику userspace:
Для установки максимальной частоты используйте опцию -u:
Для установки минимальной частоты — опцию -d:
А для изменения текущей частоты процессора — опцию -f:
Частота всё-равно будет немного колебаться, но эти колебания будут в пределах выбранного диапазона.
Все эти изменения сбрасываются после перезагрузки, поэтому если вы хотите чтобы всё сохранялось, придется создать скрипт с нужными командами и добавить его в автозагрузку.
Если вы любите пользоваться графическим интерфейсом вместо команд, вам понравится утилита cpupower-gui. Она позволяет настроить все необходимые параметры в графическом интерфейсе. Для её установки выполните:
Для установки самой последней версии выполните такие команды:
После завершения установки вы сможете найти программу в главном меню. Её окно выглядит вот так:
Утилита позволяет настроить максимальную и минимальную частоту, а также политику для каждого ядра по отдельности или для всех ядер вместе. Просто выберите нужные значения и нажмите кнопку Apply.
Источник
Частота процессора в Linux
Если вы уже пытались настраивать частоту Linux, то, наверное уже заметили, что частота процессора сама меняется в зависимости от нагрузки на систему. Операционная система устанавливает лимит минимальной и максимальной частоты, и когда нагрузки нет частота автоматически опускается до минимальной, а при появлении нагрузки подымается назад.
Конечно, в интерфейсе BIOS можно зафиксировать частоту на одном уровне, но в этом нет смысла. С точки зрения баланса производительности и энергопотребления лучше оставить всё как есть. Но правила изменения частоты можно настроить. Для этого используются политики CPU Governor. В этой статье мы рассмотрим как узнать частоту процессора Linux, а также как настроить её изменение.
Как узнать частоту процессора Linux
Узнать текущую частоту процессора можно вместе с другой информацией о нём с помощью утилиты lscpu:
Здесь же выводится максимальная и минимальная частота. Текущую частоту для каждого ядра по отдельности вы можете посмотреть в файле /proc/cpuinfo:
Так можно вывести информацию обо всех ядрах на одном экране:
cat /proc/cpuinfo | grep «cpu MHz»
Утилита lshw тоже выводит текущую и максимальную частоту в секции cpu:
Ну и 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
Затем посмотрите информацию о процессоре:
Как видите, сейчас для управления частотой используется политика 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, как её настроить и зачем это необходимо.
Источник