управление частотой процессора
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
управление частотой процессора
Об этом уже есть вскользь, в теме про ARM процессоры (одноплатные SoC): питание Orange Pi и температура.
Идея то, собственно, в том, что управляется не частота, а стратегия управления частотой от ОС, называемая Governor.
Хорошая статья, описание на этот счёт: CPU frequency scaling.
Идея то, собственно, в том, что управляется не частота, а стратегия управления частотой от ОС, называемая Governor.
Хорошая статья, описание на этот счёт: CPU frequency scaling.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: управление частотой процессора
Относительно x86:
Код: Выделить всё
olej@ACER:~$ lscpu
Архитектура: x86_64
CPU op-mode(s): 32-bit, 64-bit
Порядок байт: Little Endian
Address sizes: 39 bits physical, 48 bits virtual
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Ядер на сокет: 2
Сокетов: 1
NUMA node(s): 1
ID прроизводителя: GenuineIntel
Семейство ЦПУ: 6
Модель: 60
Имя модели: Intel(R) Celeron(R) CPU G1840 @ 2.80GHz
Степпинг: 3
CPU MHz: 2793.445
CPU max MHz: 2800,0000
CPU min MHz: 800,0000
BogoMIPS: 5586.90
Виртуализация: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 2048K
NUMA node0 CPU(s): 0,1
Флаги: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer xsave rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust erms invpcid xsaveopt dtherm arat pln pts md_clear flush_l1d
Код: Выделить всё
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
cat: /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies: Нет такого файла или каталога
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ ls /sys/devices/system/cpu/
cpu0 cpufreq hotplug isolated microcode offline possible present uevent
cpu1 cpuidle intel_pstate kernel_max modalias online power smt vulnerabilities
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ ls /sys/devices/system/cpu/cpu0
cache cpuidle crash_notes_size firmware_node microcode power thermal_throttle uevent
cpufreq crash_notes driver hotplug node0 subsystem topology
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ ls /sys/devices/system/cpu/cpu0/cpufreq
affected_cpus cpuinfo_min_freq related_cpus scaling_cur_freq scaling_governor scaling_min_freq
cpuinfo_max_freq cpuinfo_transition_latency scaling_available_governors scaling_driver scaling_max_freq scaling_setspeed
Код: Выделить всё
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
1331033
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
800000
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
2800000
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: управление частотой процессора
А теперь относительно управления...
Было:
Код: Выделить всё
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
1331033
Код: Выделить всё
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ cpupower frequency-set -g performance
bash: cpupower: команда не найдена
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ aptitude search cpupower
p libcpupower-dev - CPU frequency and voltage scaling tools for Linux (development files)
p libcpupower1 - CPU frequency and voltage scaling tools for Linux (libraries)
p linux-cpupower - управление мощностью ЦП в Linux
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ sudo apt install linux-cpupower
[sudo] пароль для olej:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
libcpupower1
Следующие НОВЫЕ пакеты будут установлены:
libcpupower1 linux-cpupower
Обновлено 0 пакетов, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 1 057 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 1 311 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://deb.debian.org/debian buster/main amd64 libcpupower1 amd64 4.19.146-1 [483 kB]
Пол:2 http://deb.debian.org/debian buster/main amd64 linux-cpupower amd64 4.19.146-1 [574 kB]
Получено 1 057 kB за 1с (1 212 kB/s)
Выбор ранее не выбранного пакета libcpupower1.
(Чтение базы данных … на данный момент установлен 430731 файл и каталог.)
Подготовка к распаковке …/libcpupower1_4.19.146-1_amd64.deb …
Распаковывается libcpupower1 (4.19.146-1) …
Выбор ранее не выбранного пакета linux-cpupower.
Подготовка к распаковке …/linux-cpupower_4.19.146-1_amd64.deb …
Распаковывается linux-cpupower (4.19.146-1) …
Настраивается пакет libcpupower1 (4.19.146-1) …
Настраивается пакет linux-cpupower (4.19.146-1) …
Обрабатываются триггеры для man-db (2.8.5-2) …
Обрабатываются триггеры для libc-bin (2.28-10) …
Код: Выделить всё
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ sudo cpupower frequency-set -g performance
Setting cpu: 0
Setting cpu: 1
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
2793462
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq
2793461
olej@ACER:~/2020_WORK/own.WORK/Zodiac_Systems$ cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 4294.55 ms.
hardware limits: 800 MHz - 2.80 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 2.80 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 2.79 GHz.
analyzing CPU 1:
driver: intel_pstate
CPUs which run at the same hardware frequency: 1
CPUs which need to have their frequency coordinated by software: 1
maximum transition latency: 4294.55 ms.
hardware limits: 800 MHz - 2.80 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 2.80 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 2.79 GHz.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: управление частотой процессора
Ещё раз возвращаюсь к теме оперативного управления частотой процессора и политикой - в связи с оптимизация под компиляцию-сборку (железо и настройки).
В этой теме нет ничего "военного" - это всё известно и хорошо проработано (в публикациях), но вот заметка, например, де многое собрано до кучи: ЧАСТОТА ПРОЦЕССОРА В LINUX
В этой теме нет ничего "военного" - это всё известно и хорошо проработано (в публикациях), но вот заметка, например, де многое собрано до кучи: ЧАСТОТА ПРОЦЕССОРА В LINUX
Обновлено: 6 ноября, 2020
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: управление частотой процессора
Код: Выделить всё
olej@nvme:~$ sudo apt install linux-tools-generic
[sudo] пароль для olej:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
linux-tools-5.4.0-65 linux-tools-5.4.0-65-generic linux-tools-common
Следующие НОВЫЕ пакеты будут установлены:
linux-tools-5.4.0-65 linux-tools-5.4.0-65-generic linux-tools-common linux-tools-generic
Обновлено 0 пакетов, установлено 4 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 5.802 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 26,2 MB.
Хотите продолжить? [Д/н] y
Пол:1 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-tools-common all 5.4.0-65.73 [203 kB]
Пол:2 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-tools-5.4.0-65 amd64 5.4.0-65.73 [5.594 kB]
Пол:3 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-tools-5.4.0-65-generic amd64 5.4.0-65.73 [1.988 B]
Пол:4 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-tools-generic amd64 5.4.0.65.68 [2.492 B]
Получено 5.802 kB за 7с (833 kB/s)
Выбор ранее не выбранного пакета linux-tools-common.
(Чтение базы данных … на данный момент установлено 372445 файлов и каталогов.)
Подготовка к распаковке …/linux-tools-common_5.4.0-65.73_all.deb …
Распаковывается linux-tools-common (5.4.0-65.73) …
Выбор ранее не выбранного пакета linux-tools-5.4.0-65.
Подготовка к распаковке …/linux-tools-5.4.0-65_5.4.0-65.73_amd64.deb …
Распаковывается linux-tools-5.4.0-65 (5.4.0-65.73) …
Выбор ранее не выбранного пакета linux-tools-5.4.0-65-generic.
Подготовка к распаковке …/linux-tools-5.4.0-65-generic_5.4.0-65.73_amd64.deb …
Распаковывается linux-tools-5.4.0-65-generic (5.4.0-65.73) …
Выбор ранее не выбранного пакета linux-tools-generic.
Подготовка к распаковке …/linux-tools-generic_5.4.0.65.68_amd64.deb …
Распаковывается linux-tools-generic (5.4.0.65.68) …
Настраивается пакет linux-tools-common (5.4.0-65.73) …
Настраивается пакет linux-tools-5.4.0-65 (5.4.0-65.73) …
Настраивается пакет linux-tools-5.4.0-65-generic (5.4.0-65.73) …
Настраивается пакет linux-tools-generic (5.4.0.65.68) …
Обрабатываются триггеры для man-db (2.9.1-1) …
Код: Выделить всё
olej@nvme:~$ cpupower frequency-info
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: Cannot determine or is not supported.
hardware limits: 800 MHz - 2.90 GHz
available cpufreq governors: performance powersave
current policy: frequency should be within 800 MHz and 2.90 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency: Unable to call hardware
current CPU frequency: 800 MHz (asserted by call to kernel)
boost state support:
Supported: no
Active: no
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: управление частотой процессора
На максимум производительности:
Код: Выделить всё
olej@nvme:~$ sudo cpupower frequency-set -g performance
[sudo] пароль для olej:
Setting cpu: 0
Setting cpu: 1
Код: Выделить всё
olej@nvme:~$ cpupower frequency-info
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: Cannot determine or is not supported.
hardware limits: 800 MHz - 2.90 GHz
available cpufreq governors: performance powersave
current policy: frequency should be within 800 MHz and 2.90 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency: Unable to call hardware
current CPU frequency: 2.90 GHz (asserted by call to kernel)
boost state support:
Supported: no
Active: no
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: управление частотой процессора
Можно попробовать вручную управлять частотой...
Это - границы дозволенного:
Код: Выделить всё
olej@nvme:~$ lscpu | grep ^CPU
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 2
CPU МГц: 2900.022
CPU max MHz: 2900,0000
CPU min MHz: 800,0000
Код: Выделить всё
olej@nvme:~$ sudo cpupower frequency-set -g userspace
Setting cpu: 0
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
for example because of hardware which cannot be set to a specific frequency
or because the userspace governor isn't loaded?
Код: Выделить всё
olej@nvme:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave
В данном случае мы имеем только 2 политики: или энергосбережение или производительность.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: управление частотой процессора
А для других процессоров здесь может быть вообще всё что угодно!:
Код: Выделить всё
olej@nvidia:/sys/module$ lscpu | grep CPU
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 4
On-line CPU(s) list: 0-3
Имя модели: Intel(R) Core(TM) i5 CPU 660 @ 3.33GHz
CPU МГц: 1595.218
NUMA node0 CPU(s): 0-3
Vulnerability Mds: Vulnerable: Clear CPU buffers attempted, no microcode; SMT vulnerable
Код: Выделить всё
olej@nvidia:/sys/module$ cpupower frequency-info
analyzing CPU 0:
no or unknown cpufreq driver is active on this CPU
CPUs which run at the same hardware frequency: Not Available
CPUs which need to have their frequency coordinated by software: Not Available
maximum transition latency: Cannot determine or is not supported.
Not Available
available cpufreq governors: Not Available
Unable to determine current policy
current CPU frequency: Unable to call hardware
current CPU frequency: Unable to call to kernel
boost state support:
Supported: yes
Active: yes
33999 MHz max turbo 4 active cores
33999 MHz max turbo 3 active cores
33999 MHz max turbo 2 active cores
33999 MHz max turbo 1 active cores
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: управление частотой процессора
В RPM дистрибутивах (Fedora) всё опять по-другому (в именах пакетов):
Код: Выделить всё
[olej@xenix ~]$ dnf provides cpupower
Последняя проверка окончания срока действия метаданных: 0:03:31 назад, Сб 06 фев 2021 09:13:51.
kernel-tools-5.6.6-300.fc32.x86_64 : Assortment of tools for the Linux kernel
Репозиторий : fedora
Совпадения с:
Имя файла : /usr/bin/cpupower
kernel-tools-5.10.11-100.fc32.x86_64 : Assortment of tools for the Linux kernel
Репозиторий : updates
Совпадения с:
Имя файла : /usr/bin/cpupower
Код: Выделить всё
[olej@xenix ~]$ sudo dnf install kernel-tools
[sudo] пароль для olej:
Последняя проверка окончания срока действия метаданных: 0:57:23 назад, Сб 06 фев 2021 08:20:45.
Зависимости разрешены.
==========================================================================================================
Пакет Архитектура Версия Репозиторий Размер
==========================================================================================================
Установка:
kernel-tools x86_64 5.10.11-100.fc32 updates 215 k
Установка зависимостей:
kernel-tools-libs x86_64 5.10.11-100.fc32 updates 22 k
Результат транзакции
==========================================================================================================
Установка 2 Пакета
Объем загрузки: 237 k
Объем изменений: 664 k
Продолжить? [д/Н]: y
Загрузка пакетов:
(1/2): kernel-tools-libs-5.10.11-100.fc32.x86_64.rpm 146 kB/s | 22 kB 00:00
(2/2): kernel-tools-5.10.11-100.fc32.x86_64.rpm 557 kB/s | 215 kB 00:00
----------------------------------------------------------------------------------------------------------
Общий размер 229 kB/s | 237 kB 00:01
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
Подготовка : 1/1
Установка : kernel-tools-libs-5.10.11-100.fc32.x86_64 1/2
Установка : kernel-tools-5.10.11-100.fc32.x86_64 2/2
Запуск скриптлета: kernel-tools-5.10.11-100.fc32.x86_64 2/2
Проверка : kernel-tools-5.10.11-100.fc32.x86_64 1/2
Проверка : kernel-tools-libs-5.10.11-100.fc32.x86_64 2/2
Установлен:
kernel-tools-5.10.11-100.fc32.x86_64 kernel-tools-libs-5.10.11-100.fc32.x86_64
Выполнено!
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: управление частотой процессора
Код: Выделить всё
[olej@xenix ~]$ lscpu | grep CPU
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 4
On-line CPU(s) list: 0-3
Имя модели: Intel(R) Xeon(R) CPU E5462 @ 2.80GHz
CPU MHz: 2000.367
CPU max MHz: 2803,0000
CPU min MHz: 2403,0000
NUMA node0 CPU(s): 0-3
Vulnerability Mds: Vulnerable: Clear CPU buffers attempted, no microcode; SMT disabled
Код: Выделить всё
[olej@xenix ~]$ sudo cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us
hardware limits: 2.40 GHz - 2.80 GHz
available frequency steps: 2.80 GHz, 2.40 GHz
available cpufreq governors: conservative ondemand userspace powersave performance schedutil
current policy: frequency should be within 2.40 GHz and 2.80 GHz.
The governor "schedutil" may decide which speed to use
within this range.
current CPU frequency: 2.40 GHz (asserted by call to hardware)
boost state support:
Supported: no
Active: no
Код: Выделить всё
[olej@xenix cpufreq]$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance schedutil
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей