Почему смена частот CPU и это не возможны остановить это?

Я пытаюсь отключить частотное масштабирование CPU и ограничить процессор одной скоростью. Но что-то, кажется, изменяет скорость процессора постоянно. Какие-либо идеи о том, почему это происходит?

Я нахожусь на 16,04, и процессор является A10-7870K, и я отключил частотное масштабирование от BIOS. У меня есть оба окна и человечность, установленная на машине. ЦП не перегревается, температура под 50C ни в какой точке.

В окнах частота ЦП остается в фиксированных 3.2 ГГц. Но когда я загружаюсь в Linux и проверку /proc/cpuinfo Я добираюсь, оценивает все вокруг места.

root@ubuntu:~# cat /proc/cpuinfo |grep MHz
cpu MHz         : 2483.111
cpu MHz         : 2511.828
cpu MHz         : 2142.128
cpu MHz         : 1850.386
root@ubuntu:~#

Модуль Cpufreq, не загруженный

root@ubuntu:~# lsmod |grep cpufreq
root@ubuntu:~#

Никакие настройки, кажется, не существуют связанные с частотным масштабированием CPU

root@ubuntu:~# ls -al /sys/devices/system/cpu/cpufreq
total 0
drwxr-xr-x  2 root root 0 Sep 16 18:37 .
drwxr-xr-x 13 root root 0 Sep 16 18:37 ..
root@ubuntu:~# find /sys/devices/system/cpu |grep freq
/sys/devices/system/cpu/cpufreq
root@ubuntu:~# find /sys/devices/system/cpu |grep min
root@ubuntu:~# find /sys/devices/system/cpu |grep max
/sys/devices/system/cpu/kernel_max
root@ubuntu:~#
0
задан 16 September 2018 в 08:40

1 ответ

Современные процессоры (моими экспертными знаниями является Intel, не AMD) сократят частоту ЦП самостоятельно, когда загрузка будет достаточно легка, даже в режиме производительности и как функция того, в какую глубину состояния ожидания ЦП входит. Я предложил бы, чтобы Вы использовали acpi-cpufreq драйвер частотного масштабирования ЦП и установили режим производительности. Затем у Вас должна быть максимальная скорость отклика для того процессора.

Могут быть другие методы, но единственный способ, которым я знаю об абсолютно заблокировать весь процессор CPU на максимальной частоте, состоит в том, чтобы отключить любое состояние ожидания глубже, чем 0, отметив, что состояние ожидания 0 не действительно неактивно вообще, а скорее состояние опроса предельной нагрузки.

Пример (в то время как не действительно релевантный, мой драйвер частотного масштабирования ЦП является intel_ptsate, и регулятор является "производительностью"):

doug@s15:~/test_kernels$ sudo turbostat --quiet --Summary --show Busy%,Bzy_MHz,IRQ,PkgTmp,PkgWatt --interval 5
Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt
0.03    1749    283     47      4.04   <<< notice the low CPU frequency, even in performance mode. All Idle states are enabled.
0.02    1737    230     46      4.00
0.03    1920    552     45      4.07
0.02    1779    225     43      3.96
14.08   3498    5958    59      10.53
100.00  3500    40200   63      51.19   <<< Notice the high CPU frequency, but also high power consumption, and increasing package temperature.
100.00  3500    40189   64      51.67   <<< All idle states above 0 are disabled.
100.00  3500    40193   64      51.92   <<< turbostat sees idle state 0 as a "busy" state.
100.00  3500    40200   64      52.04
100.00  3500    40194   65      52.11
100.00  3500    40199   65      52.15
100.00  3500    40199   65      52.24
16.85   3497    7207    46      12.20
0.02    1777    230     45      3.98   <<< All idle states have been enabled again
0.02    1842    227     43      3.96
0.02    1833    224     42      3.94
0.02    1772    233     41      3.92
0.02    1769    249     40      3.91
0.03    1760    280     39      3.90
^C0.02  1922    77      39      3.88

Примечание: Мой процессор является более старым i7, и минимум pstate равняется 16 (1,6 ГГц), и максимум pstate, со всеми активными ядрами, равняется 35 (3,5 ГГц)

0
ответ дан 27 October 2019 в 23:13

Другие вопросы по тегам:

Похожие вопросы: