Регулятор процессора автоматически изменится на & ldquo; производительность & rdquo; под нагрузкой

У меня Lenovo T570 с Xubuntu 18.04 LTS. Моя текущая проблема заключается в том, что скорость моего процессора немного сходит с ума и делает то, что он считает лучшим.

Пример: при запуске среды IDE и увеличении нагрузки на процессор во время сборки регулятор автоматически меняется. Я поймал момент во время компиляции моего проекта со следующим вызовом:

martin@martin-ThinkPad-T570:~$ while cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor; do sleep 1; done
powersave
powersave
performance
performance

cpufreq-info говорит мне это:

martin@martin-ThinkPad-T570:~$ 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: 4294.55 ms.
  hardware limits: 400 MHz - 3.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 3.50 GHz and 3.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.25 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: 4294.55 ms.
  hardware limits: 400 MHz - 3.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 3.50 GHz and 3.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.36 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: 4294.55 ms.
  hardware limits: 400 MHz - 3.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 3.50 GHz and 3.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.26 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: 4294.55 ms.
  hardware limits: 400 MHz - 3.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 3.50 GHz and 3.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.36 GHz.

Пожалуйста, посмотрите на

[ 117] текущая политика: частота должна быть в пределах 3,50 ГГц и 3,50 ГГц. «Производительность» регулятора может решить, какую скорость использовать

. Затем, чтобы вернуться в режим энергосбережения, я использую свой маленький скрипт:

martin@martin-ThinkPad-T570:~$ cat cpu_freq_save.sh 
#!/bin/bash
sudo cpufreq-set -g powersave -c 0 --min 400MHz
sudo cpufreq-set -g powersave -c 1 --min 400MHz
sudo cpufreq-set -g powersave -c 2 --min 400MHz
sudo cpufreq-set -g powersave -c 3 --min 400MHz

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

Любая идея, как я могу отключить это автоматическое изменение?

PS: Если вам нужно больше деталей, просто скажите мне, где их найти, и я предоставлю их

2
задан 7 May 2019 в 11:13

3 ответа

cpufreqd - это управление частотой демон, установленный с:

sudo apt install cpufreqd

Файл конфигурации cpufreqd.conf используется для изменения частот. Есть два раздела, где вы можете увидеть, как он меняет регулятор на «производительность»:

[Profile]
name=hi_boost
minfreq=0%
maxfreq=100%
policy=performance

# full power when AC
[Rule]
name=AC_on
ac=on                   # (on/off)
profile=hi_boost

Труднее понять, когда он меняется на «энергосбережение», если только зарядное устройство не отключено.

Начиная с ядра 3.4 cpufreq ] встроен в ядро ​​и загружается автоматически. Он включает в себя демон управления частотой, называемый Thermald . Таким образом, в cpufreqd больше нет необходимости, и он мог конфликтовать в вашей системе.

Для еще большей настройки при питании от батареи в наши дни широко используется пакет tlp .

2
ответ дан 7 May 2019 в 11:13

Я экспериментировал с разными вещами и в итоге удалил cpufreqd из моей системы и оставил только cpufrequtils установленными, и бум, он больше не переключает губернатор под нагрузкой.

1
ответ дан 7 May 2019 в 11:13

Если вы намереваетесь отключить драйвер intel_pstate, вы можете сделать это во время загрузки с помощью аргумента ядра intel_pstate = disable

Это, вероятно, не в ваших интересах, потому что драйвер intel_pstate знает подробности того, как работает ЦП, и выполняет свою работу лучше, чем стандартное решение ACPI. Intel утверждает, что Intel_pstate "powersave" быстрее, чем общий регулятор acpi с "производительностью", вероятно, из-за выполнения некоторых задач с более высокой частотой, будет потреблять меньше энергии, чем более низкая частота, занимающая больше времени, например. арифметические вещи, но не для всех задач, например загрузка чего-либо из памяти.

Лучшее , что вы можете сделать, - это игнорировать это и позволить драйверу intel_pstate выполнять свою работу, позволяя использовать технологию TurboBoost , встроенную в микросхему, которая регулирует частота автоматически зависит от номинальной мощности, температуры и ограничений по току

. Для современных процессоров Intel, таких как Core i5 7300U , которые у вас есть (хотя вы не упоминаете модель), частота составляет контролируются самим процессором, а P-состояния, выставляемые программному обеспечению, связаны с уровнями производительности. Идея, что частота может быть установлена ​​на одну частоту, является фикцией для процессоров Intel Core. Даже если драйвер масштабирования выбирает одно состояние P, фактическая частота, на которой будет работать процессор, выбирается самим процессором.

Источники:

https://unix.stackexchange.com/questions/121410/setting-cpu -governor-to-on-demand-or-conservative

https://www.cnet.com/products/lenovo-thinkpad-t570-15-6-core-i5-7300u-8-gb-ram-256 -gb-ssd-20h9000uus /

https://en.wikichip.org/wiki/intel/core_i5/i5-7300u

1
ответ дан 7 May 2019 в 11:13

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

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