ОБНОВЛЕНИЕ - 2018-11-25
Также хочу отметить, что ниже приведены команды для использования подсистемы CpuFreq без использования какого-либо инструмента (например, cpufrequtils, поскольку он используется для достижения той же цели). Иногда этим инструментам не хватает функций, или они просто не работают так, как нам хочется. Поскольку ядро CpuFreq создает каталог sysfs в каталоге / sys / devices / system / cpu /, некоторые атрибуты доступны для чтения-записи и могут быть изменены на уровне ядра. Эти изменения атрибутов называются политиками, поскольку CpuFreq имеет интерфейс политики в sysfs. Приведенные ниже команды должны работать во время загрузки и быть постоянными между загрузками.
Если регулятор масштабирования выбран как intel_pstate ; (Эта часть может помочь избежать более высоких частот, если решено использовать intel_pstate)
Также турбо можно отключить из-за желания предотвратить более высокие частоты.
echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
После этого может быть полезна команда ниже.
echo "70" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct (70 can be changed by another percentage if clock speed and turbo speed is higher numbers. 70-80 should be enough to not reaching above 2.5 GHz)
Этот атрибут объясняется, как показано ниже в https://www.kernel.org/doc/Documentation/cpu-freq/intel-pstate.txt и может помочь уменьшить более высокие частоты процессора.
max_perf_pct: ограничивает максимальное P-состояние, которое будет запрашиваться
Водитель. Это выражается в процентах от доступной производительности.
Поскольку P-состояния являются рабочими состояниями, и при переходе Pn в P0 частоты увеличиваются. Таким образом, ограничение максимального P-состояния в процентах от максимального поддерживаемого уровня производительности может быть полезным. Проверьте эту ссылку: https://software.intel.com/en-us/blogs/2008/05/29/what-exactly-is-a-p-state-pt-1
Кроме того, в intel_pstate процессоры имеют одинаковые свойства. При использовании intel_pstate в качестве регулятора масштабирования можно использовать ограничения производительности для каждого процессора в качестве атрибутов cpufreq (например, scaling_max_freq), добавив ниже параметр ядра;
intel_pstate=per_cpu_perf_limits
В противном случае процессоры могут быть установлены отдельно;
echo -n 2457600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo -n 2457600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
echo -n 2457600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo -n 2457600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
Но есть важная часть - встроенный скрипт в Linux ( / etc / init.d / ondemand ). Если ondemand или powersave используется в качестве регулятора масштабирования, то настройки, которые мы установили (как выше), могут конфликтовать с этим сценарием. Сценарий должен быть отключен следующей командой:
sudo /usr/sbin/update-rc.d ondemand disable
Более подробная информация здесь: https://help.ubuntu.com/community/UbuntuStudio/Setting_CPU_Governor
После отключения ondemand другие регуляторы масштабирования (например, пространство пользователя, производительность) могут быть установлены и использоваться согласно приведенной выше конфигурации.
Это все основные команды (как под, так и над частью), и они должны помочь решить проблему масштабирования частоты процессора, так как я также хотел предоставить эту информацию для дальнейшего использования.
Прежде всего, я хочу дать некоторую информацию о масштабировании частоты процессора.
С этим процессом связаны три термина (это уровни подсистемы, которая называется «масштабирование производительности ЦП»), и они должны быть в основном рассмотрены и обсуждены, чтобы убедиться, что все понято правильно.
CPUFreq Core
Драйвер масштабирования
Масштабирующий регулятор
Ядро CPUFreq является базовой платформой и содержит общую инфраструктуру кода для всех платформ, поддерживающих эту функцию.
Драйвер частоты CPU изменяет P-состояния CPU, которые управляются масштабирующими регуляторами и взаимодействуют с аппаратным обеспечением.
(P-состояния означают, что они работают, в отличие от C-состояний, в которых они находятся в состоянии ожидания, за исключением состояния C0. Состояние C0 также занято и активно.)
В регуляторах масштабирования реализованы алгоритмы масштабирования.
Кстати, масштабирование производительности процессора - это глубокая тема, и есть много вещей, которые следует учитывать. Как правило, приведенная выше информация должна соответствовать вашим потребностям.
Во-первых, я думаю, intel_pstate сейчас используется в качестве драйвера масштабирования в вашем ноутбуке. Таким образом, его отключение может предоставить нам более продвинутые настройки и больше регуляторов (у intel_pstate есть два регулятора: powersave и performance ). Я думаю, что powersave является регулятором по умолчанию для intel_pstate.
sudo vi /etc/default/grub
Добавить intel_pstate = отключить к параметру GRUB_CMDLINE_LINUX_DEFAULT.
GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"
После добавления параметра выполните следующие команды.
modprobe acpi-cpufreq
sudo update-grub
Вы можете проверить параметры ядра при загрузке с помощью следующей команды
cat /proc/cmdline
Таким образом, acpi-cpufreq будет включен как драйвер масштабирования (из-за отключения intel_pstate). Итак, следующая вещь может быть установка регулятора как userspace для запуска ЦП на желаемых частотах или разрешение его использования по умолчанию ( ondemand должно быть настройкой по умолчанию для acpi-cpufreq).
Первый способ настройки регулятора и настройки максимальной частоты
Если вы хотите изменить регулятор масштабирования (например, на userspace ):
sudo update-rc.d ondemand disable (This command prevents above commands to be reset after reboot)
sudo apt install cpufrequtils (To control the CPU frequency scaling deamon)
echo 'GOVERNOR="userspace"' | sudo tee /etc/default/cpufrequtils
После этих шагов мы должны иметь acpi-cpufreq в качестве драйвера масштабирования и ondemand (если вы не меняли регулятор) в качестве регулятора масштабирования. Итак, последнее, что кажется, это установка максимальной частоты процессора.
Редактирование / etc / default / cpufrequtils, как показано ниже, должно устанавливать частоты процессора. Если файл не существует, создайте его.
MAX_SPEED="2457600"
MIN_SPEED="1536000"
Также проверьте строки ниже в том же файле.
ENABLE="true"
GOVERNOR="ondemand" (or userspace)
Но, таким образом, я думаю, что нет никакой гарантии для установки всех ядер процессора на одинаковые значения частоты. Я видел, как некоторые люди говорили, что ниже (второй способ) устанавливают все ядра процессора в качестве желаемых значений, но не первый способ.
Второй способ настройки регулятора и настройки максимальной частоты
Установить tlp (инструмент управления Linux Power)
sudo apt install tlp
После установки отредактируйте / etc / default / tlp, как показано ниже:
# Выберите регулятор масштабирования частоты процессора: # ondemand, powersave,
производительность, консервативный # процессор Intel Core i с intel_pstate
водитель: # powersave, performance # Важно: # Вы должны
отключить настройки вашего дистрибутива или конфликты будут #
происходят. ondemand достаточно для почти всех рабочих нагрузок, вам следует
знаю # что ты делаешь! CPU_SCALING_GOVERNOR_ON_AC = OnDemand
CPU_SCALING_GOVERNOR_ON_BAT = OnDemand
# Установите минимальную / максимальную частоту, доступную для регулятора масштабирования. #
Возможные значения сильно зависят от вашего процессора. Для доступных частот
смотрите # tlp-stat output, раздел "+++ Processor".
CPU_SCALING_MIN_FREQ_ON_AC = 0
CPU_SCALING_MAX_FREQ_ON_AC = 0
CPU_SCALING_MIN_FREQ_ON_BAT = 1536000
CPU_SCALING_MAX_FREQ_ON_BAT = 2457600
Указанные выше настройки следует сохранить после перезапуска или приостановки устройства.
Я попытался предоставить и объяснить способы установки частоты ЦП (также для сохранения постоянных настроек), и я, возможно, что-то забыл. Поэтому, пожалуйста, проверьте информацию выше и попробуйте, если они соответствуют вашим потребностям. Кроме того, вы можете использовать команду ниже, чтобы убедиться, что все правильно.
cpufreq-info
Примечание: пожалуйста, проверьте ниже страницы для получения дополнительной информации.
Список губернаторов
https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt
https://www.kernel.org/doc/html/v4.14/admin-guide/pm/cpufreq.html
https://www.kernel.org/doc/html/v4.12/admin-guide/pm/intel_pstate.html