У меня 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 ГГц. «Производительность» регулятора может решить, какую скорость использоватьblockquote>
. Затем, чтобы вернуться в режим энергосбережения, я использую свой маленький скрипт:
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: Если вам нужно больше деталей, просто скажите мне, где их найти, и я предоставлю их
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
.
Я экспериментировал с разными вещами и в итоге удалил cpufreqd
из моей системы и оставил только cpufrequtils
установленными, и бум, он больше не переключает губернатор под нагрузкой.
Если вы намереваетесь отключить драйвер 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