Я пытаюсь отключить частотное масштабирование 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:~#
Современные процессоры (моими экспертными знаниями является 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 ГГц)