Автор Тема: частота процессора  (Прочитано 315 раз)

Онлайн Olej

частота процессора
« : Июнь 11, 2018, 12:16:03 am »
Частота процессора - это нагрев.
Утверждается, что частотой ARM можно управлять содержимым файла:
olej@orangepione:~$ cat /etc/default/cpufrequtils 
# WARNING: this file will be replaced on board support package (linux-root-...) upgrade
ENABLE=true
MIN_SPEED=408000
MAX_SPEED=1200000
GOVERNOR=ondemand

Здесь:
ENABLE - разрешение управлять частотой динамически (а если false - то какая будет частота?)
MIN_SPEED - MAX_SPEED - границы управления
GOVERNOR= ... - политика управления
Цитировать
governor — это регулятор выбора частоты процессора. То есть это некий алгоритм, позволяющий управлять поведением процессора в зависимости от различных условий. Все они находятся в ядре linux и не могут быть добавлены отдельно от ядра.
Может быть (?):
- performance - поддерживть процессор(ы) на максимальной тактовой частоте
- ondemand - динамически увеличивает/уменьшает тактовую частоту процессора в зависимости от загруженности системы
- conservative - похоже на ondemand, но более экономный, предпочтение отдаётся меньшим тактовым частотам
- powersave - процессор работает на минимально возможной тактовой частоте
- interactive -  ... я не знаю что это ???

Онлайн Olej

Re: частота процессора
« Ответ #1 : Июнь 11, 2018, 12:23:19 am »
Цитировать
governor — это регулятор выбора частоты процессора. То есть это некий алгоритм, позволяющий управлять поведением процессора в зависимости от различных условий. Все они находятся в ядре 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.

Онлайн Olej

Re: частота процессора
« Ответ #2 : Июнь 11, 2018, 12:36:39 am »
Утверждается, что частотой ARM можно управлять содержимым файла:
olej@orangepione:~$ cat /etc/default/cpufrequtils 
# WARNING: this file will be replaced on board support package (linux-root-...) upgrade
ENABLE=true
MIN_SPEED=408000
MAX_SPEED=1200000
GOVERNOR=ondemand

Здесь ещё вопросы:

1. Если файл /etc/default/cpufrequtils менять, редактировать (с root, естественно), то когда изменения вступят в силу? После перезагрузки?

2. Что означает вот тот "# WARNING..."? Не означает ли, что все наши редактирования пойдут на смарку после каких-то там обновлений? Каких?

Оффлайн ua3nbw

Re: частота процессора
« Ответ #3 : Июнь 11, 2018, 01:10:18 am »
1. Если файл /etc/default/cpufrequtils менять, редактировать (с root, естественно), то когда изменения вступят в силу? После перезагрузки?

systemctl restart cpufrequtils.service

cpufreq-info -o

Онлайн Olej

Re: частота процессора
« Ответ #4 : Июнь 11, 2018, 01:18:01 am »
1. Если файл /etc/default/cpufrequtils менять, редактировать (с root, естественно), то когда изменения вступят в силу? После перезагрузки?

systemctl restart cpufrequtils.service
Эта служба в системе запущена по умолчанию? :
olej@orangepione:~$ systemctl status cpufrequtils.service
● cpufrequtils.service - LSB: set CPUFreq kernel parameters
   Loaded: loaded (/etc/init.d/cpufrequtils; generated; vendor preset: enabled)
   Active: active (exited) since Sun 2018-06-10 22:43:16 EEST; 2h 33min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 702 ExecStart=/etc/init.d/cpufrequtils start (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/cpufrequtils.service

июн 10 22:43:16 orangepione systemd[1]: Starting LSB: set CPUFreq kernel parameters...
июн 10 22:43:16 orangepione cpufrequtils[702]: CPUFreq Utilities: Setting ondemand CPUFreq governor...CPU0...CPU1...CPU2...CPU3...done.
июн 10 22:43:16 orangepione systemd[1]: Started LSB: set CPUFreq kernel parameters.

Онлайн Olej

Re: частота процессора
« Ответ #5 : Июнь 11, 2018, 01:25:16 am »
cpufreq-info -o
Мне интереснее показалась вот такая статистика:
olej@orangepione:~$ cpufreq-info -s -c0
240000:33, 480000:946391, 648000:122, 816000:72, 912000:28, 960000:15, 1008000:21, 1104000:40, 1200000:10201  (810)
Только что означает 2-е число после ':'?
Временной интервал?
В каких единицах измерения?

Онлайн Olej

Re: частота процессора
« Ответ #6 : Июнь 11, 2018, 01:39:36 am »
cpufreq-info -o

Частота процессоров (ядер) меняется синхронно или вразнобой?
olej@orangepione:~$ cpufreq-info -s -c0
240000:33, 480000:1026450, 648000:122, 816000:72, 912000:28, 960000:15, 1008000:21, 1104000:40, 1200000:10491  (834)
olej@orangepione:~$ cpufreq-info -s -c1
240000:33, 480000:1026633, 648000:122, 816000:72, 912000:28, 960000:15, 1008000:21, 1104000:40, 1200000:10512  (836)
olej@orangepione:~$ cpufreq-info -s -c2
240000:33, 480000:1027305, 648000:122, 816000:72, 912000:28, 960000:15, 1008000:21, 1104000:40, 1200000:10533  (839)
olej@orangepione:~$ cpufreq-info -s -c3
240000:33, 480000:1027819, 648000:122, 816000:72, 912000:28, 960000:15, 1008000:21, 1104000:40, 1200000:10555  (841)
Получается, что вразнобой ... но с сильной тенденцией к синхронности.

Онлайн Olej

Re: частота процессора
« Ответ #7 : Июнь 21, 2018, 06:57:26 pm »
Что такое «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.
Мне показалось интересным, может кому пригодится... Вопрос: из великого множества говерноров (разработанных от разных авторов и производителей железа) какие могут быть использованы в вашей конкретно системе на вашем конкретно железе?
Пока проверил только на десктопном 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
Всё то же на Orange Pi проверю ... как доберусь до него и включу :)

Онлайн Olej

Re: частота процессора
« Ответ #8 : Июнь 26, 2018, 03:21:26 pm »
Всё то же на Orange Pi проверю ... как доберусь до него и включу :)
В общем ... всё как и во всяком другом Linux:
olej@orangepione:~$ ls -l /sys/devices/system/cpu/cpufreq 
total 0
drwxr-xr-x 2 root root 0 июн 18 00:17 ondemand
drwxr-xr-x 3 root root 0 июн 18 00:17 policy0
olej@orangepione:~$ cd /sys/devices/system/cpu/cpufreq/policy0/ 

olej@orangepione:/sys/devices/system/cpu/cpufreq/policy0$ ls -l
total 0
-r--r--r-- 1 root root 4096 июн 26 12:49 affected_cpus
-r-------- 1 root root 4096 июн 18 00:17 cpuinfo_cur_freq
-r--r--r-- 1 root root 4096 июн 18 00:17 cpuinfo_max_freq
-r--r--r-- 1 root root 4096 июн 18 00:17 cpuinfo_min_freq
-r--r--r-- 1 root root 4096 июн 26 12:49 cpuinfo_transition_latency
-r--r--r-- 1 root root 4096 июн 26 12:49 related_cpus
-r--r--r-- 1 root root 4096 июн 26 12:49 scaling_available_frequencies
-r--r--r-- 1 root root 4096 июн 18 00:17 scaling_available_governors
-r--r--r-- 1 root root 4096 июн 26 12:49 scaling_cur_freq
-r--r--r-- 1 root root 4096 июн 26 12:49 scaling_driver
-rw-r--r-- 1 root root 4096 июн 18 00:17 scaling_governor
-rw-r--r-- 1 root root 4096 июн 18 00:17 scaling_max_freq
-rw-r--r-- 1 root root 4096 июн 18 00:17 scaling_min_freq
-rw-r--r-- 1 root root 4096 июн 26 12:49 scaling_setspeed
drwxr-xr-x 2 root root    0 июн 18 00:17 stats

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

olej@orangepione:/sys/devices/system/cpu/cpufreq/policy0$ cat scaling_governor
ondemand

olej@orangepione:/sys/devices/system/cpu/cpufreq/policy0$ cat scaling_cur_freq
480000

olej@orangepione:/sys/devices/system/cpu/cpufreq/policy0$ cat scaling_min_freq
408000

olej@orangepione:/sys/devices/system/cpu/cpufreq/policy0$ cat scaling_max_freq
1200000
olej@orangepione:/sys/devices/system/cpu/cpufreq/policy0$ cat scaling_available_frequencies 
240000 480000 648000 816000 912000 960000 1008000 1104000 1200000

Онлайн Olej

Re: частота процессора
« Ответ #9 : Июнь 26, 2018, 03:27:15 pm »
olej@orangepione:/sys/devices/system/cpu/cpufreq/policy0$ cat scaling_cur_freq 
480000
...
olej@orangepione:/sys/devices/system/cpu/cpufreq/policy0$ cat scaling_available_frequencies
240000 480000 648000 816000 912000 960000 1008000 1104000 1200000
И при этой частоте 480Mhz нагрев, без какого-то дополнительного охлаждения, составляет 46º C:
root@orangepione:~# inxi -s
Sensors:   System Temperatures: cpu: 45.9C mobo: N/A
           Fan Speeds (in rpm): cpu: N/A
Когда я это смотрю, процессор не занят какой-то напряжённой работой ... но и не простаивает...

При желании, можно запустить стресс-тест на процессоре:
root@orangepione:~# stress --cpu 4 --timeout 120s 
stress: info: [3059] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd
stress: info: [3059] successful run completed in 120s
На время его выполнения регулятор повышает частоту так:
olej@orangepione:/sys/devices/system/cpu/cpufreq/policy0$ cat scaling_cur_freq
1008000
За 2 минуты такой гонки температура так чтобы очень существенно не растёт:
root@orangepione:~# inxi -s
Sensors:   System Temperatures: cpu: 55.9C mobo: N/A
           Fan Speeds (in rpm): cpu: N/A
В принципе, пишут, что температура кристалла процессора вполне может быть до 85º С.
Вопрос: наблюдал ли кто близкую к этой граничной температуру процессора? и при какой частоте?