Форум по операционной системе GNU/Linux и свободному программному обеспечению
Текущее время: 24 апр 2019, 06:55

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: управление частотой процессора
Непрочитанное сообщениеДобавлено: 21 июн 2018, 19:02 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Это особо имеет значение для одноплатных и встроенных конфигураций...
Потому что частота - это потребление мощности + расход батарей + тепло и охлаждение конструкции.
Но, поскольку это вообще возможность Linux, то пусть тема будет здесь.

Что такое «governor» и какой выбрать режим управления частотой процессора
Цитата:
ВОСКРЕСЕНЬЕ, 22 НОЯБРЯ 2015

Здесь описаны несколько десятков регуляторов ... и рекмендации по их использованию:
Цитата:
В большинстве своем, их можно разбить на группы:
Основанные на Ondemand: такие как Ondemand, OndemandX, Intellidemand, Lazy, Lagfree, PegasusQ, HYPER, Wheatley, Hotplug, HotplugX, AbyssPlug, AbyssPlugv2, Nightmare, Sleepy…
Основанные на Conservative: Conservative, Lionheart, LionheartX…
Основанные на Interactive: Interactive, InteractiveX, Intelliactive, Lulzactive, Luzactiveq, Smartass, SmartassV2, SmartassH3, Brazilianwax, SavagedZen, Dyninteractive, Interactive Pro…
Гибридные (комбинация двух и более говернеров): Smartmax, Dancedance, Performance May Cry(PMC), Ktoonservative, KtoonservativeQ…
Некая своеобразная категория (входят в стандартный набор доступных регуляторов на большинстве стоковых ядер): Userspace, Powersave, Performance, Min Max, ZZmove, MSM DCVS, IntelliMM.

Очень простая и приятная статья ... советую ;-)


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Непрочитанное сообщениеДобавлено: 21 июн 2018, 19:07 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Olej писал(а):
Что такое «governor» и какой выбрать режим управления частотой процессора
Здесь описаны несколько десятков регуляторов ... и рекмендации по их использованию:
Цитата:
В большинстве своем, их можно разбить на группы:
Основанные на Ondemand: такие как Ondemand, OndemandX, Intellidemand, Lazy, Lagfree, PegasusQ, HYPER, Wheatley, Hotplug, HotplugX, AbyssPlug, AbyssPlugv2, Nightmare, Sleepy…
Основанные на Conservative: Conservative, Lionheart, LionheartX…
Основанные на Interactive: Interactive, InteractiveX, Intelliactive, Lulzactive, Luzactiveq, Smartass, SmartassV2, SmartassH3, Brazilianwax, SavagedZen, Dyninteractive, Interactive Pro…
Гибридные (комбинация двух и более говернеров): Smartmax, Dancedance, Performance May Cry(PMC), Ktoonservative, KtoonservativeQ…
Некая своеобразная категория (входят в стандартный набор доступных регуляторов на большинстве стоковых ядер): Userspace, Powersave, Performance, Min Max, ZZmove, MSM DCVS, IntelliMM.

Очень простая и приятная статья ... советую ;-)


Мне показалось интересным, может кому пригодится... Вопрос: из великого множества говерноров (разработанных от разных авторов и производителей железа) какие могут быть использованы в вашей конкретно системе на вашем конкретно железе?
Пока проверил только на десктопном Linux (Fedora 25):
- это политика по каждому процессору (ядру):
Код:
[olej@dell RTLinux]$ ls -l /sys/devices/system/cpu/cpufreq
итого 0
-rw-r--r-- 1 root root 4096 июн 21 18:49 boost
drwxr-xr-x 2 root root    0 июн 21 18:38 ondemand
drwxr-xr-x 3 root root    0 июн 18 15:55 policy0
drwxr-xr-x 3 root root    0 июн 21 18:37 policy1
drwxr-xr-x 3 root root    0 июн 21 18:38 policy2
drwxr-xr-x 3 root root    0 июн 21 18:38 policy3
drwxr-xr-x 3 root root    0 июн 21 18:38 policy4
drwxr-xr-x 3 root root    0 июн 21 18:38 policy5
drwxr-xr-x 3 root root    0 июн 21 18:38 policy6
drwxr-xr-x 3 root root    0 июн 21 18:38 policy7

- вот действующий говернор для конкретного процессора:
Код:
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
ondemand

- вот набор допустимых говерноров для этого процессора (думаю, что и для всех прочих процессоров будет идентично) - это и есть ответ на вопрос, заданный в этом сообщении:
Код:
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors
conservative userspace powersave ondemand performance schedutil

- и вот набор дискретных частот, между которыми может переключаться этот процессор:
Код:
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies
1600000 1599000 1466000 1333000 1199000 1066000 933000


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Непрочитанное сообщениеДобавлено: 21 июн 2018, 19:10 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Olej писал(а):
- вот действующий говернор для конкретного процессора:
Код:
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
ondemand

- вот набор допустимых говерноров для этого процессора (думаю, что и для всех прочих процессоров будет идентично) - это и есть ответ на вопрос, заданный в этом сообщении:
Код:
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors
conservative userspace powersave ondemand performance schedutil


Предполагаю (!), что если в scaling_governor записать значение, допустимое из scaling_available_governors, (с правами root, естественно) то это изменит политику управления частотой процессора.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Непрочитанное сообщениеДобавлено: 21 июн 2018, 19:15 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Olej писал(а):
- и вот набор дискретных частот, между которыми может переключаться этот процессор:
Код:
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies
1600000 1599000 1466000 1333000 1199000 1066000 933000

По аналогии, в scaling_cur_freq должна бы быть текущая частота на которой бегает процессор ... но:
Код:
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq
1077775
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq
1068277
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq
1025063
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq
1027133
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq
1035622
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq
1065933
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq
1091194
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq
1106510
[olej@dell RTLinux]$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq
1018682

Это последовательно считанные значения одной и той же переменной.
Это не совпадает с сеткой частот scaling_available_frequencies !
И это очень похоже на некоторый усреднённые значения за некоторый интервал времени ... какой? от uptime?


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Непрочитанное сообщениеДобавлено: 22 июн 2018, 14:07 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Olej писал(а):
Это особо имеет значение для одноплатных и встроенных конфигураций...
Потому что частота - это потребление мощности + расход батарей + тепло и охлаждение конструкции.
Но, поскольку это вообще возможность Linux, то пусть тема будет здесь.

Смотрю Rapsberry Pi - совершенно другая архитектура:
Код:
pi@raspberrypi:/sys/devices/system/cpu/cpufreq/policy0 $ lscpu
Architecture:          armv7l
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
Model name:            ARMv7 Processor rev 5 (v7l)
CPU max MHz:           900.0000
CPU min MHz:           600.0000

Тот же обыкновенный полноценный Linux, отличающийся только платформой:
Код:
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux

pi@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID:   Raspbian
Description:   Raspbian GNU/Linux 8.0 (jessie)
Release:   8.0
Codename:   jessie

Здесь, в отличие от предыдущего, удивляет только то, что при наличии 4-х ядер - каталог policy только 1:
Код:
pi@raspberrypi:/sys/devices/system/cpu/cpufreq $ ls -l /sys/devices/system/cpu/cpufreq
total 0
drwxr-xr-x 2 root root 0 Jun 19 21:17 ondemand
drwxr-xr-x 3 root root 0 Jun 19 21:17 policy0

Но во всём остальном - всё то же самое:
Код:
pi@raspberrypi:/sys/devices/system/cpu/cpufreq/policy0 $ cat scaling_governor
ondemand

pi@raspberrypi:/sys/devices/system/cpu/cpufreq/policy0 $ cat scaling_available_governors
conservative ondemand userspace powersave performance schedutil

pi@raspberrypi:/sys/devices/system/cpu/cpufreq/policy0 $ cat scaling_min_freq
600000

pi@raspberrypi:/sys/devices/system/cpu/cpufreq/policy0 $ cat scaling_max_freq
900000

pi@raspberrypi:/sys/devices/system/cpu/cpufreq/policy0 $ cat scaling_cur_freq
600000


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.127s | 17 Queries | GZIP : On ]