Масштабирование частоты процессора работает не так, как задумано в Ubuntu 16.04

Масштабирование частоты процессора на моем ноутбуке (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, и конфигурация выглядела нормально (регулятор энергосбережения, минимальная / максимальная частота на соответствующих уровнях). К сожалению, я не могу воспроизвести ошибку ...

Есть идеи, что вызывает проблемы масштабирования или что можно сделать, чтобы их исправить?

1
задан 16 August 2016 в 02:09

1 ответ

Сводка

Да, при определенных условиях текущая версия 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

0
ответ дан 16 August 2016 в 02:09

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

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