Масштабирование частоты процессора на моем ноутбуке (Intel® Core ™ TM i7-4810MQ с тактовой частотой 2,80 ГГц) не работает должным образом. После первоначальной установки Ubuntu 16.04 я не внес никаких изменений в отношении управления питанием или масштабирования частоты процессора. Обычно я привык к губернатору по требованию. Однако кажется, что этот регулятор был заменен некоторой pstate штукой и регулятором powersave в более новых ядрах.
Даже без нагрузки частоты центрального процессора колеблются в диапазоне 2.x, вызывая шум в вентиляторах и нагревание устройства:
$ cat /proc/cpuinfo |grep -i mh
cpu MHz : 3435.468
cpu MHz : 2245.468
cpu MHz : 2800.218
cpu MHz : 2338.765
cpu MHz : 2800.546
cpu MHz : 2801.203
cpu MHz : 2800.875
cpu MHz : 2000.140
$ uptime
14:57:49 up 5:15, 1 user, load average: 0,01, 0,08, 0,16
$ 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: 0.97 ms.
hardware limits: 800 MHz - 3.80 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 3.80 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 2.80 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: 0.97 ms.
hardware limits: 800 MHz - 3.80 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 3.80 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 2.80 GHz.
analyzing CPU 2:
driver: intel_pstate
CPUs which run at the same hardware frequency: 2
CPUs which need to have their frequency coordinated by software: 2
maximum transition latency: 0.97 ms.
hardware limits: 800 MHz - 3.80 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 3.80 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 2.79 GHz.
analyzing CPU 3:
driver: intel_pstate
CPUs which run at the same hardware frequency: 3
CPUs which need to have their frequency coordinated by software: 3
maximum transition latency: 0.97 ms.
hardware limits: 800 MHz - 3.80 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 3.80 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 2.80 GHz.
analyzing CPU 4:
driver: intel_pstate
CPUs which run at the same hardware frequency: 4
CPUs which need to have their frequency coordinated by software: 4
maximum transition latency: 0.97 ms.
hardware limits: 800 MHz - 3.80 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 3.80 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 2.80 GHz.
analyzing CPU 5:
driver: intel_pstate
CPUs which run at the same hardware frequency: 5
CPUs which need to have their frequency coordinated by software: 5
maximum transition latency: 0.97 ms.
hardware limits: 800 MHz - 3.80 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 3.80 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 2.78 GHz.
analyzing CPU 6:
driver: intel_pstate
CPUs which run at the same hardware frequency: 6
CPUs which need to have their frequency coordinated by software: 6
maximum transition latency: 0.97 ms.
hardware limits: 800 MHz - 3.80 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 3.80 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 2.90 GHz.
analyzing CPU 7:
driver: intel_pstate
CPUs which run at the same hardware frequency: 7
CPUs which need to have their frequency coordinated by software: 7
maximum transition latency: 0.97 ms.
hardware limits: 800 MHz - 3.80 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 3.80 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 2.79 GHz.
Как ни странно, я также наблюдал обратное поведение: машина находилась под большой нагрузкой, но частоты снижались до прибл. 20-30сек все ядра достигли ~ 800МГц. Я проверил cpufreq-info, и конфигурация выглядела нормально (регулятор энергосбережения, минимальная / максимальная частота на соответствующих уровнях). К сожалению, я не могу воспроизвести ошибку ...
Есть идеи, что вызывает проблемы масштабирования или что можно сделать, чтобы их исправить?
Сводка
Да, при определенных условиях текущая версия intel_pstate драйвера может подвезти частоту ЦП при довольно легких загрузках. Однако и обычно, это НЕ заставило бы "вентиляторы быть шумными и устройство для нагревания", потому что связанные центральные процессоры делают свою более быструю работу и поэтому проводят больше времени в состояниях глубокого сна, противодействуя более высокому активному питанию. Я только когда-либо мог приписать приблизительно дополнительный 1/2 ватта питания пакета к этой проблеме.
Что касается второй части Вашего вопроса, об уменьшении частот ЦП при высокой загрузке. Я могу только предположить, что своего рода тепловая регулировка включена.
Детали
очень важно определить "без загрузки", или "неактивный". Почему? Поскольку в основанной на GUI системе, "неактивной" на самом деле, имеет значительный объем работы, чтобы сделать. На не-GUI основанная на сервере система "неактивная" обычно действительно, средство там является очень небольшой работой, чтобы сделать.
В основанных на GUI системах, проявление этой проблемы зависит от: уровень Гц ядра (100, 250, 300, или 1 000 Гц); частота кадров видеодрайвера; Сколько фонового материала продолжается; путем планировщик вращается между центральными процессорами; Некоторые другие вещи, которые я забываю в данный момент.
, В то время как временное приспособление было добавлено, оно только покрывает действующие нагрузки 1% или меньше, но условие может также произойти для загрузок более чем 1%. Также я не знаю, находится ли та фиксация в или была бэкпортирована к текущим 16,04 ядрам.
А лучше фиксация происходит, но это будет когда-то, прежде чем это будет выпущено.
Тем временем, и при желании можно вернуться к acpi-cpufreq драйверу. См. здесь или здесь для как.
Ссылки
https://bugzilla.kernel.org/attachment.cgi? id=187781
https://bugzilla.kernel.org/show_bug.cgi? id=93521
https://bugzilla.kernel.org/show_bug.cgi? id=115771
http://marc.info/?l=linux-pm&m=147000845531378&w=2
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ffb810563c0c049872a504978e06c8892104fb6c