Управление частотой процессора в Linux

Обновлено: 02.07.2024

Частота ЦП — один из самых эффективных способов снизить энергопотребление и тепловыделение вашей системы. CPUfreq, также называемая масштабированием скорости ЦП, — это инфраструктура в ядре Linux, которая позволяет масштабировать частоту ЦП для экономии энергии. Масштабирование ЦП может выполняться автоматически в зависимости от загрузки системы, в ответ на события ACPI или вручную программами пользовательского пространства, что позволяет регулировать тактовую частоту процессора на лету. Это позволяет системе работать на пониженной тактовой частоте для экономии энергии. Правила смещения частот, будь то более быстрая или медленная тактовая частота, а также когда следует смещать частоты, определяются регулятором частоты ЦП.

3.2.1. Драйверы CPUfreq

Частота ЦП ACPI

Драйвер ACPI CPUfreq — это драйвер ядра, который управляет частотой конкретного ЦП через ACPI, что обеспечивает связь между ядром и оборудованием.

P-состояние Intel

В Red Hat Enterprise Linux 7 поддерживается драйвер Intel P-state. Драйвер предоставляет интерфейс для управления выбором P-состояния на процессорах на базе архитектуры Intel Xeon серии E или более новых архитектур. Intel P-state реализует обратный вызов setpolicy(). Драйвер решает, какое P-состояние использовать на основе политики, запрошенной ядром cpufreq. Если процессор способен выбрать следующее P-состояние внутри себя, драйвер перекладывает эту ответственность на процессор. Если нет, драйвер реализует алгоритмы для выбора следующего P-состояния.

Intel P-state предоставляет собственные файлы sysfs для управления выбором P-состояния. Эти файлы расположены в каталоге /sys/devices/system/cpu/intel_pstate/. Любые изменения, внесенные в файлы, применимы ко всем процессорам. Этот каталог содержит пять файлов, которые используются для настройки параметров P-состояния:

max_perf_pct : ограничивает максимальное P-состояние, запрошенное драйвером, выраженное в процентах от доступной производительности. Доступная производительность в P-состоянии может быть снижена с помощью параметра no_turbo (см. ниже).

min_perf_pct : min_perf_pct: ограничивает минимальное P-состояние, запрошенное драйвером, выраженное в процентах от максимального (без турбо) уровня производительности.

turbo_pct : отображает процент общей производительности, поддерживаемой оборудованием, находящимся в диапазоне турбо. Это число не зависит от того, отключен режим турбо или нет.

num_pstates: отображает количество P-состояний, поддерживаемых оборудованием. Это число не зависит от того, отключен режим турбо или нет.

В настоящее время Intel P-state используется по умолчанию для поддерживаемых ЦП. Пользователи могут переключиться на использование ACPI CPUfreq, добавив следующее в командную строку ядра:

3.2.2. Регуляторы частоты ЦП

Регулятор частоты ЦП определяет характеристики мощности системного ЦП, что, в свою очередь, влияет на производительность ЦП. Каждый регулятор имеет собственное уникальное поведение, назначение и пригодность с точки зрения рабочей нагрузки. В этом разделе описывается, как выбрать и настроить регулятор частоты ЦП, характеристики каждого регулятора и для какой рабочей нагрузки подходит каждый регулятор.

Предупреждение

Red Hat Enterprise Linux 7 включает несколько основных регуляторов частоты ЦП. Драйвер Intel P-state по умолчанию работает в активном режиме, в котором доступны только два регулятора частоты ЦП: производительность и энергосбережение . Обратите внимание, что функции производительности и энергосбережения регуляторов частоты ЦП Intel P-state отличаются от регуляторов частоты ЦП ядра с теми же именами.

3.2.2.1. Регуляторы частоты ядра CPU

Регулятор производительности заставляет ЦП использовать максимально возможную тактовую частоту. Эта частота будет установлена ​​статически и не изменится. Таким образом, этот конкретный регулятор не предлагает никакого преимущества в энергосбережении . Он подходит только для многочасовой работы с высокой нагрузкой, да и то только в те периоды, когда ЦП редко (или никогда) не простаивает.

Напротив, регулятор энергосбережения заставляет ЦП использовать минимально возможную тактовую частоту. Эта частота будет установлена ​​статически и не изменится. Таким образом, этот конкретный регулятор обеспечивает максимальную экономию энергии, но за счет самой низкой производительности процессора.

Однако термин "энергосбережение" иногда может быть обманчивым, поскольку (в принципе) медленный ЦП при полной загрузке потребляет больше энергии, чем быстрый ЦП, который не загружен. Таким образом, хотя может быть целесообразно настроить ЦП на использование регулятора энергосбережения в периоды ожидаемой низкой активности, любые неожиданные высокие нагрузки в это время могут привести к тому, что система на самом деле будет потреблять больше энергии.

Регулятор энергосбережения, говоря простым языком, больше похож на "ограничитель скорости" ЦП, чем на "энергосбережение". Это наиболее полезно в системах и средах, где перегрев может быть проблемой.

Губернатор по требованию — это динамический регулятор, который позволяет процессору достигать максимальной тактовой частоты при высокой загрузке системы, а также минимальной тактовой частоты, когда система простаивает. Хотя это позволяет системе регулировать энергопотребление в соответствии с нагрузкой на систему, это происходит за счет задержки между переключением частоты . Таким образом, задержка может свести на нет любые преимущества производительности и энергосбережения, предлагаемые регулятором Ondemand, если система слишком часто переключается между бездействующими и тяжелыми рабочими нагрузками.

Для большинства систем регулятор Ondemand обеспечивает наилучший компромисс между тепловыделением, энергопотреблением, производительностью и управляемостью. Когда система занята только в определенное время дня, регулятор Ondemand автоматически переключается между максимальной и минимальной частотой в зависимости от нагрузки без какого-либо дополнительного вмешательства.

Регулятор пользовательского пространства позволяет программам пользовательского пространства или любому процессу, запущенному с правами root, устанавливать частоту. Из всех регуляторов пользовательское пространство является наиболее настраиваемым; и в зависимости от того, как он настроен, он может обеспечить наилучший баланс между производительностью и потреблением для вашей системы.

Как и регулятор Ondemand, регулятор Conservative также регулирует тактовую частоту в зависимости от использования (как и регулятор Ondemand). Однако в то время как регулятор Ondemand делает это более агрессивно (то есть от максимума к минимуму и обратно), регулятор Conservative переключается между частотами более плавно.

Это означает, что регулятор Conservative подстраивается под тактовую частоту, которую считает подходящей для нагрузки, а не просто выбирает между максимальной и минимальной. Хотя это, возможно, может обеспечить значительную экономию энергопотребления, оно делает это с еще большей задержкой, чем регулятор Ondemand.

Примечание

Вы можете включить регулятор с помощью заданий cron. Это позволяет вам автоматически устанавливать определенных регуляторов в определенное время дня. Таким образом, вы можете задать низкочастотный регулятор во время простоя (например, в нерабочее время) и вернуться к более высокочастотному регулятору в часы большой рабочей нагрузки.

Масштабирование производительности ЦП позволяет операционной системе повышать или понижать частоту ЦП для экономии энергии или повышения производительности. Масштабирование может выполняться автоматически в ответ на загрузку системы, самонастраиваться в ответ на события ACPI или изменяться вручную программами пользовательского пространства.

Ядро Linux предлагает масштабирование производительности ЦП через подсистему CPUFreq, которая определяет два уровня абстракции:

    реализовать алгоритмы для вычисления желаемой частоты процессора, потенциально основанной на потребностях системы. напрямую взаимодействовать с ЦП, устанавливая желаемые частоты, которые запрашивает текущий регулятор.

Драйвер масштабирования и регулятор по умолчанию выбираются автоматически, но инструменты пользовательского пространства, такие как cpupower, acpid, инструменты режима ноутбука или инструменты с графическим интерфейсом, предоставленные для среды вашего рабочего стола, по-прежнему могут использоваться для расширенной настройки.

Содержание

Инструменты пользовательского пространства

термический осадок

thermald — это демон Linux, используемый для предотвращения перегрева процессоров Intel. Этот демон отслеживает температуру и применяет компенсацию, используя доступные методы охлаждения.

По умолчанию он отслеживает температуру ЦП с помощью доступных цифровых датчиков температуры ЦП и поддерживает температуру ЦП под контролем до того, как аппаратное обеспечение предпримет активные корректирующие действия. Если в Thermal sysfs есть датчик температуры кожи, то он старается поддерживать температуру кожи ниже 45°C.

Связанный модуль systemd — thermod.service , который должен быть запущен и включен.

i7z – это инструмент для создания отчетов о процессорах i7 (а теперь и i3, i5, i7, i9) для Linux. Его можно запустить из терминала с помощью команды i7z или в графическом интерфейсе с помощью i7z-gui .

турбостат

turbostat может отображать частоту, энергопотребление, состояние простоя и другую статистику современных процессоров Intel и AMD.

мощность процессора

cpupower – это набор утилит пользовательского пространства, предназначенных для масштабирования частоты ЦП. Пакет не обязателен для использования масштабирования, но настоятельно рекомендуется, поскольку он предоставляет полезные утилиты командной строки и службу systemd для изменения регулятора при загрузке.

Файл конфигурации для cpupower находится в /etc/default/cpupower . Этот файл конфигурации считывается сценарием bash в /usr/lib/systemd/scripts/cpupower, который активируется systemd с помощью cpupower.service . Вы можете включить запуск cpupower.service при загрузке.

процессорный графический интерфейс

cpupower-gui AUR — это графическая утилита, предназначенная для помощи в масштабировании частоты ЦП. Графический интерфейс основан на GTK и предназначен для предоставления тех же параметров, что и cpupower. cpupower-gui может изменять максимальную/минимальную частоту ЦП и регулятор для каждого ядра.Приложение обрабатывает предоставление привилегий через polkit и позволяет любому вошедшему в систему пользователю в группе пользователей wheel изменять частоту и регулятор.

power-profiles-daemon

Инструмент командной строки powerprofilesctl от power-profiles-daemon обрабатывает профили питания (например, сбалансированный, энергосберегающий, производительный) через службу power-profiles-daemon. GNOME и KDE также предоставляют графические интерфейсы для переключения профилей; см. следующее:

Дополнительную информацию об использовании, примерах использования и сравнении с аналогичными проектами см. в файле README проекта.

Запустите/включите службу power-profiles-daemon. Обратите внимание, что при запуске powerprofilesctl он также пытается запустить службу (см. состояние модуля dbus.service ).

Примечание. power-profiles-daemon конфликтует с другими службами управления питанием, такими как TLP, настроенный AUR и system76-power AUR . Чтобы вместо этого использовать одну из вышеупомянутых служб, не удаляя power-profiles-daemon (из-за ее потенциального статуса зависимости), отключите службу power-profiles-daemon, замаскировав ее (см. также [1] , [2]).

Драйверы масштабирования

Драйверы масштабирования реализуют специфичные для ЦП детали настройки частот, указанные регулятором. Строго говоря, стандарт ACPI требует состояний мощности и производительности (P-состояний), которые начинаются с P0 и становятся менее производительными. Эта функция называется SpeedStep на Intel и PowerNow! на AMD.

На практике, однако, процессоры предоставляют методы для указания определенных частот, а не ограничиваются фиксированными P-состояниями, которые обрабатываются драйверами масштабирования.

  • Собственный модуль ЦП загружается автоматически.
  • Драйвер масштабирования мощности ЦП intel_pstate автоматически используется для современных ЦП Intel вместо других драйверов, указанных ниже. Этот драйвер имеет приоритет над другими драйверами и является встроенным, а не модулем. Этот драйвер в настоящее время автоматически используется для процессоров Sandy Bridge и более новых. intel_pstate может игнорировать настройки BIOS P-State. intel_pstate может работать в «пассивном режиме» через драйвер intel_cpufreq для старых процессоров. Если вы столкнулись с проблемой при использовании этого драйвера, добавьте intel_pstate=disable в строку ядра, чтобы вернуться к использованию драйвера acpi-cpufreq.
  • Даже на упомянутое выше поведение состояния P можно повлиять с помощью /sys/devices/system/cpu/intel_pstate , например Intel Turbo Boost можно отключить с помощью команды echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo в качестве пользователя root для поддержания низкой температуры ЦП.
  • Дополнительный контроль для современных процессоров Intel доступен с помощью программы Linux Thermal Daemon (доступной как Thermald ), которая активно контролирует температуру с помощью P-состояний, T-состояний и драйвера Intel Power Clamp. Thermald также можно использовать для старых процессоров Intel. Если последние версии драйверов недоступны, демон вернется к регистрам, характерным для модели x86, и «подсистеме cpufreq» Linux для управления охлаждением системы.

cpupower требует, чтобы модули знали ограничения собственного ЦП:

Модуль Описание
intel_pstate Этот драйвер реализует Драйвер масштабирования с внутренним регулятором для процессоров Intel Core (Sandy Bridge и новее).
intel_cpufreq Начиная с ядра 5.7 драйвер масштабирования intel_pstate выбирает " пассивный режим», также известный как intel_cpufreq, для процессоров, которые не поддерживают аппаратно-управляемые P-состояния (HWP), т. е. Intel Core i 5-го поколения или старше.
acpi-cpufreq Драйвер CPUFreq, использующий состояния производительности процессора ACPI. Этот драйвер также поддерживает Intel Enhanced SpeedStep (ранее поддерживавшийся устаревшим модулем speedstep-centrino).
speedstep-lib Драйвер CPUFreq для Intel SpeedStep- поддерживаемые процессоры (в основном Atom и более старые Pentium)
powernow-k8 драйвер CPUFreq для процессоров K8/K10 Athlon 64/Opteron/Phenom. Начиная с Linux 3.7 'acpi-cpufreq' будет автоматически использоваться для более современных процессоров AMD.
pcc-cpufreq Этот драйвер поддерживает интерфейс управления тактовой частотой процессора посредством Hewlett-Packard и Microsoft Corporation, который полезен на некоторых серверах ProLiant.
p4-clockmod Драйвер CPUFreq для процессоров Intel Pentium 4/Xeon/Celeron, который снижает температуру процессора за счет пропуска тактов. (Возможно, вместо этого вы захотите использовать драйвер SpeedStep.)

Чтобы просмотреть полный список доступных модулей, выполните:

Загрузите соответствующий модуль (подробности см. в разделе Модули ядра). После загрузки соответствующего драйвера cpufreq подробную информацию о ЦП можно отобразить, запустив

Установка максимальной и минимальной частот

В некоторых случаях может потребоваться вручную установить максимальную и минимальную частоту.

Чтобы установить максимальную тактовую частоту ( clock_freq – тактовая частота с единицами измерения: ГГц, МГц):

Чтобы установить минимальную тактовую частоту:

Чтобы настроить процессор на заданную частоту:

  • Чтобы настроить только одно ядро ​​ЦП, добавьте -c номер_ядра .
  • Регулятор, максимальная и минимальная частоты могут быть установлены в /etc/default/cpupower .

Кроме того, вы можете установить частоту вручную:

Доступные значения можно найти в /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies или аналогичном. [3]

Настройка повышения частоты

Некоторые процессоры поддерживают повышение частоты выше нормального максимума на короткое время при соответствующих температурных условиях. В процессорах Intel это называется Turbo Boost, а в процессорах AMD — Turbo-Core.

Настройка через sysfs (intel_pstate)

intel_pstate имеет интерфейс для конкретного драйвера, запрещающий переход процессора в турбо-P-состояния:

Настройка через sysfs (другие драйверы масштабирования)

Для драйверов масштабирования, отличных от intel_pstate, если драйвер поддерживает усиление, будет присутствовать атрибут /sys/devices/system/cpu/cpufreq/boost, который можно использовать для отключения/включения повышения:

Настройка через x86_energy_perf_policy

На процессорах Intel x86_energy_perf_policy также можно использовать для настройки Turbo Boost:

Регуляторы масштабирования

Фактическая точность этой статьи или раздела оспаривается.

Причина: существует файл /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors, который содержит энергосбережение производительности при использовании драйвера intel_pstate. Заметка из [4], вероятно, была более точной. Также нигде не описан «активный режим» intel_pstate. (Обсудить в Talk:Масштабирование частоты ЦП)

Примечание. Каждый регулятор совместим с любым драйвером масштабирования. Однако драйвер масштабирования intel_pstate в активном режиме будет обходить регулятор, что делает этот раздел неприменимым.

В зависимости от драйвера масштабирования по умолчанию будет загружен один из этих регуляторов:

  • энергосбережение для процессоров Intel с помощью драйвера intel_pstate (Sandy Bridge и новее).
  • энергосбережение (для Linux schedutil (начиная с Linux 5.10) для процессоров, использующих драйвер acpi-cpufreq.

Предупреждение. Используйте инструменты мониторинга ЦП (температуры, напряжения и т. д.) при изменении регулятора по умолчанию.

Чтобы активировать определенный регулятор, запустите:

  • Чтобы настроить только одно ядро ​​ЦП, добавьте -c номер_ядра к приведенной выше команде.
  • Для активации регулятора требуется, чтобы был загружен определенный модуль ядра (с именем cpufreq_губернатор). Начиная с ядра 3.4 эти модули загружаются автоматически.

Кроме того, вы можете вручную активировать регулятор на каждом доступном ЦП:

где говернор — имя говернора, упомянутого в таблице выше, которую вы хотите активировать.

Настройка регулятора по требованию

Порог переключения

Чтобы установить порог перехода на другую частоту:

Чтобы установить порог перехода на другую частоту:

Частота выборки

Частота выборки определяет, как часто регулятор проверяет, чтобы настроить ЦП. sample_down_factor — это настраиваемый параметр, который умножает частоту дискретизации, когда ЦП работает на максимальной тактовой частоте, тем самым задерживая оценку нагрузки и повышая производительность. Допустимые значения для sample_down_factor: от 1 до 100 000. Этот параметр не влияет на поведение при более низких частотах/нагрузках ЦП.

Чтобы прочитать значение (по умолчанию = 1), выполните:

Чтобы установить значение, запустите:

Сделать изменения постоянными

Чтобы включить желаемое масштабирование при загрузке, можно использовать параметры модуля ядра и systemd-tmpfiles.

Например, изменение up_threshold на 10:

Однако, как указано в systemd-tmpfiles, в некоторых случаях могут существовать условия гонки, и можно использовать udev, чтобы избежать их. Например:

  • Начиная с Linux 5.9, можно установить параметр ядра cpufreq.default_governor.[7]
  • В качестве альтернативы можно настроить утилиту cpupower и включить ее службу systemd.

Подсказка о производительности и энергопотреблении Intel

Подсказка Intel по производительности и смещению энергопотребления (EPB) — это интерфейс, предоставляемый процессорами Intel, который позволяет пользовательскому пространству указать желаемый компромисс между энергопотреблением и производительностью по шкале от 0 (самая высокая производительность) до 15 (самая высокая экономия энергии). . Регистр EPB — это еще один уровень управления производительностью, функционирующий независимо от масштабирования частоты. Это влияет на то, насколько агрессивным будет выбор P-состояния и C-состояния, и информирует о внутренних решениях, связанных с моделью, которые влияют на потребление энергии.

Регулятор Описание
производительность Запуск процессора на максимальной частоте , полученный из /sys/devices/system/cpu/cpuX/cpufreq/scaling_max_freq .
powersave Запустите CPU на минимальной частоте, полученной из /sys/devices/system/cpu/cpuX/cpufreq/scaling_min_freq .
userspace Запуск ЦП на заданных пользователем частотах, настраиваемых через /sys/devices/system/cpu/cpuX/cpufreq/scaling_setspeed .
ondemand Динамическое масштабирование частоты в соответствии с текущей нагрузкой. Переходит к самой высокой частоте, а затем, возможно, снижается по мере увеличения времени простоя.
консервативный Динамическое масштабирование частоты в соответствии с текущей нагрузкой. Масштабирует частоту более плавно, чем по требованию.
schedutil Выбор частоты ЦП, управляемый планировщиком [5], [6].
значение EPB строка
0 производительность
4 баланс-производительность
6 нормальный, по умолчанию
8 баланс-мощность
15 мощность

Настройка через sysfs

EPB можно установить с помощью атрибута sysfs:

Настройка через x86_energy_perf_policy

Настройка через cpupower

Внимание: cpupower не поддерживает строковые псевдонимы. Если задана строка, она автоматически установит EPB в 0, что соответствует максимальной производительности.

Другие флаги энергопотребления x86

Включить аппаратные P-состояния с помощью x86_energy_perf_policy:

Установить политику "по умолчанию":

Изменения временные. См. x86_energy_perf_policy(8) для получения дополнительной информации.

Драйвер бездействия процессора

Драйвер простоя процессора intel_idle автоматически используется для современных процессоров Intel вместо драйвера acpi_idle. Этот драйвер в настоящее время автоматически используется для процессоров Sandy Bridge и более новых. Intel_idle может игнорировать настройки BIOS C-State. Если вы столкнулись с проблемой при использовании этого драйвера, добавьте intel_idle.max_cstate=0 в строку ядра.

Взаимодействие с событиями ACPI

Пользователи могут настроить регуляторы масштабирования для автоматического переключения в зависимости от различных событий ACPI, таких как подключение адаптера переменного тока или закрытие крышки ноутбука. Ниже приведен краткий пример, однако, возможно, стоит прочитать полную статью об acpid.

События определяются в файле /etc/acpi/handler.sh. Если пакет acpid установлен, файл уже должен существовать и быть исполняемым. Например, чтобы изменить регулятор масштабирования с производительного на консервативный при отключении адаптера переменного тока и обратно при повторном подключении:

Устранение неполадок

Фактическая точность этой статьи или раздела оспаривается.

Причина: непроверенные и расплывчатые утверждения, множество "некоторых" и "может быть". Элементы устранения неполадок должны решать конкретные проблемы. (Обсудить в Talk:Масштабирование частоты ЦП)

  • Некоторые приложения, такие как ntop, плохо реагируют на автоматическое масштабирование частоты. В случае ntop это может привести к ошибкам сегментации и большому количеству потерянной информации, так как даже регулятор по требованию не может достаточно быстро изменить частоту, когда на контролируемый сетевой интерфейс внезапно поступает много пакетов, которые не могут быть обработаны текущей скоростью процессора. .
  • Некоторые ЦП могут страдать от низкой производительности из-за настроек регулятора по требованию по умолчанию (например, флеш-видео не воспроизводится плавно или анимация окон заикается). Вместо того чтобы полностью отключать масштабирование частоты для решения этих проблем, агрессивность масштабирования частоты можно повысить, уменьшив значение переменной sysctl up_threshold для каждого процессора. Узнайте, как изменить пороговое значение регулятора по требованию.
  • Иногда регулятор по требованию может регулировать частоту не до максимальной, а на один шаг ниже. Это можно решить, установив значение max_freq чуть выше реального максимума. Например, если диапазон частот ЦП составляет от 2,00 ГГц до 3,00 ГГц, рекомендуется установить для параметра max_freq значение 3,01 ГГц.
  • Некоторые комбинации драйверов ALSA и звуковых чипов могут вызывать пропуски звука, поскольку регулятор регулятора переключается между частотами. Возврат к неизменяемому регулятору, по-видимому, останавливает пропуски звука.

Ограничение частоты BIOS

В некоторых конфигурациях ЦП/BIOS могут возникать трудности с масштабированием до максимальной частоты или вообще масштабирование до более высоких частот. Скорее всего, это вызвано тем, что события BIOS сообщают ОС об ограничении частоты, в результате чего /sys/devices/system/cpu/cpu0/cpufreq/bios_limit устанавливается на более низкое значение.

Либо вы только что сделали определенный параметр в утилите настройки BIOS (частота, управление температурным режимом и т. д.), вы можете обвинить глючный/устаревший BIOS, либо у BIOS может быть серьезная причина для дросселирования процессора сама по себе.< /p>

Такие причины могут быть (при условии, что ваша машина — ноутбук) из-за того, что батарея извлечена (или близка к разрядке), поэтому вы работаете только от сети переменного тока.В этом случае слабый источник переменного тока может не обеспечивать достаточного количества электроэнергии для удовлетворения экстремальных пиковых потребностей всей системы, а поскольку нет вспомогательной батареи, это может привести к потере данных, повреждению данных или, в худшем случае, даже к повреждению оборудования!

Не все BIOS ограничивают частоту ЦП в этом случае, но, например, большинство IBM/Lenovo Thinkpads ограничивают. Обратитесь к thinkwiki для получения дополнительной информации по этой теме, связанной с ThinkPad.

Если вы проверили, что это не просто странная настройка BIOS, и вы знаете, что делаете, вы можете заставить ядро ​​​​игнорировать эти ограничения BIOS.

Предупреждение. Убедитесь, что вы прочитали и поняли раздел выше. Ограничение частоты ЦП — это функция безопасности вашего BIOS, и вам не нужно ее обходить.

В модуль процессора должен быть передан специальный параметр.

Чтобы попробовать это, временно измените значение в /sys/module/processor/parameters/ignore_ppc с 0 на 1 .

Существуют такие инструменты, как TLP, Laptop Mode Tools и powertop, которые помогают снизить энергопотребление и увеличить общее время автономной работы ноутбука в Linux. Еще один способ снизить энергопотребление — ограничить частоту процессора. Хотя это всегда было выполнимо, обычно для этого требуются сложные команды терминала, что делает его неудобным для новичков. Но, к счастью, есть расширение gnome, которое поможет вам легко установить и управлять частотой вашего процессора — CPU Power Manager. CPU Power Manager использует драйвер масштабирования частоты intel_pstate (поддерживается почти всеми процессорами Intel) для контроля и управления частотой процессора на рабочем столе GNOME.

Еще одна причина использовать это расширение – уменьшить нагрев системы. Существует множество систем, которые при нормальном использовании могут сильно нагреваться. Ограничение частоты вашего процессора может уменьшить нагрев. Это также уменьшит износ вашего процессора и других компонентов.

Установка диспетчера питания ЦП в Linux

И затем вы ДОЛЖНЫ установить собственный коннектор, чтобы это расширение работало.

В Arch Linux, Manjaro Linux:

После установки браузерного расширения интеграции GNOME Shell и собственного коннектора перейдите на страницу расширения CPU Power Manager и установите расширение. Для этого нажмите кнопку "ВКЛ" рядом с диспетчером питания ЦП.

Включить ЦП Расширение Power Manager

Включить расширение CPU Power Manager

Появится всплывающее окно с предложением загрузить и установить расширение «CPU Power Manager» со страницы расширений gnome. Нажмите кнопку «Установить».

Загрузите и установите расширение CPU Power Manager со страницы расширений gnome

Загрузите и установите расширение CPU Power Manager со страницы расширений gnome

После установки расширения вы увидите значок ЦП в правой части верхней панели Gnome. Щелкните значок, и вы получите возможность установить расширение:

 Установите CPU Power Manager в Linux

Установите диспетчер питания ЦП в Linux

Если вы нажмете «Попробовать установку», вы получите запрос на ввод пароля. Расширению требуются привилегии root, чтобы добавить правило policykit для управления частотой процессора. Введите пароль sudo и нажмите «Аутентификация», и установка завершится. Последнее действие добавляет файл policykit — mko.cpupower.setcpufreq.policy в /usr/share/polkit-1/actions.

После завершения установки, если щелкнуть значок ЦП в правом верхнем углу, вы увидите фактический интерфейс диспетчера питания ЦП, как показано на снимке экрана ниже:

Запустить диспетчер питания ЦП из верхней панели

Запустите диспетчер питания ЦП из верхней панели

Контроль и управление частотой ЦП с помощью диспетчера питания ЦП в Linux

Диспетчер питания ЦП не требует настройки. Он автоматически отрегулирует рекомендуемые минимальные и максимальные частоты процессора для вас. Вы можете проверить это, отключив источник питания от ноутбука. Как только ноутбук перейдет в режим работы от батареи, диспетчер питания ЦП автоматически отрегулирует минимальные и максимальные уровни частоты соответствующим образом, чтобы повысить производительность батареи.

Вот список доступных опций в интерфейсе диспетчера питания ЦП.

  • Просмотр текущей частоты ЦП. Очевидно, что вы можете использовать это окно, чтобы увидеть частоту, на которой работает ваш ЦП.
  • Установить максимальную и минимальную частоту. С помощью этого расширения вы можете установить максимальную и минимальную частоту в процентах от максимальной частоты. После установки этих ограничений ЦП будет работать только в этом диапазоне частот.
  • Включение и выключение режима Turbo Boost: это моя любимая функция. Большинство процессоров Intel имеют функцию «Turbo Boost», благодаря которой одно из ядер процессора форсируется выше обычной максимальной частоты для дополнительной производительности. Хотя это может сделать вашу систему более производительной, это также значительно увеличивает энергопотребление. Поэтому, если вы не делаете ничего интенсивного, приятно иметь возможность отключить Turbo Boost и сэкономить энергию. На самом деле, в моем случае Turbo Boost большую часть времени отключен.
  • Встроенные профили. По умолчанию диспетчер питания ЦП предлагает четыре профиля по умолчанию, а именно: «Высокая производительность», «Мультимедиа», «Тихий режим» и «Экономия энергии». Подходящая частота процессора будет автоматически настроена в зависимости от выбранного вами профиля. Вы также можете создавать профили с максимальной и минимальной частотой, которые можно легко включать и выключать, вместо того, чтобы возиться с максимальной и частотой.
  • Автопереключение: после включения автоматически выбирается профиль, который вы установили в окне настроек. Дополнительные сведения см. в следующем разделе.

Настройки

Вы также можете настроить расширение в окне настроек:

Мощность процессора Окно настроек менеджера

Окно настроек CPU Power Manager

Как видите, в разделе «Общие» можно указать, будет ли отображаться частота ЦП, а также в МГц или ГГц. Вы также можете установить здесь профили переменного тока и батареи по умолчанию. Помните настройку «Автопереключение» в главном интерфейсе диспетчера питания процессора? Если параметр Auto Switch включен, диспетчер питания ЦП автоматически выберет соответствующую частоту для профилей переменного тока и батареи по умолчанию.

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

Профили CPU Power Manager

Профили CPU Power Manager

Последний раздел — это раздел «Установка». В этом разделе вы можете получить сведения о пути к правилу cpufreqctl и набору политик.

Удалить диспетчер питания процессора

Диспетчер питания ЦП можно удалить напрямую со страницы расширений gnome или из раздела «Установка» в основном интерфейсе.

Рекомендуемое чтение:

Заключение

Управление питанием в Linux не самое лучшее по сравнению с Windows и Mac OS, и многие люди всегда ищут простой способ повысить производительность батареи на своем ноутбуке с Linux. Если вы один из них, проверьте это расширение. Это нетрадиционный метод экономии энергии, но он работает. Мне определенно нравится это расширение, и я использую его уже несколько месяцев.

Что вы думаете об этом расширении? Пишите свои мысли в комментариях ниже!

В ЦП VIA предусмотрена возможность изменения тактовой частоты ЦП во время работы. Раньше эта функция называлась longhaul, но недавно Centaur изменил название на Powersaver. Тактовая частота ЦП определяется двумя настройками: тактовой частотой внешней шины (FSB) и множителем ЦП. Например, EPIA ME6000 включает в себя процессор Eden ESP с тактовой частотой 600 МГц, который имеет частоту FSB 133 МГц и мультипроцессор 4,5. 133 x 4,5 = 598,5, а производители всегда округляют до 600. Минимальный и максимальный множители частоты различны для каждого ядра процессора. Между минимальным и максимальным значениями множители часов увеличиваются с шагом 0,5. В таблице ниже приведены тактовые частоты ЦП для каждого ядра ЦП.

Таблица 9. Тактовые частоты ядер ЦП VIA

ЯдроFSBМин. количество ЦПМакс. ЦП Мульт
Сэмюэль66/100/1333 8
Самуэль 266/100/133 исправлено312
Эзра66/100/133 исправлено312
Эзра Т66/100/133312
Неемия< /TD>66(?)/100/133516

Максимальные значения, показанные в предыдущей таблице, представляют собой максимальные значения, поддерживаемые функцией дальней связи/энергосбережения. Фактически каждый ЦП имеет заводской множитель тактовой частоты по умолчанию, указанный в его регистре MSR_EBL_CR_POWERON. Этот заводской множитель по умолчанию следует считать максимальным множителем тактовой частоты для ЦП.На самом деле, некоторые процессоры VIA можно разогнать, установив множитель дальней связи выше заводского значения по умолчанию. Разгон процессора обычно не лучшая идея, потому что дополнительное тепло, выделяемое более высокими тактовыми частотами, может повредить или разрушить процессор.

Так что, если вы не можете заставить процессор работать быстрее, зачем? Что ж, более низкая тактовая частота означает меньшее рассеивание мощности, а значит, более прохладный и тихий. Например, многие люди оставляют свои компьютеры включенными все время. Рассмотрим хранитель экрана, который автоматически снижает скорость процессора, когда компьютер не используется. Это также означает, что батареи будут работать дольше. Рассмотрим демон, работающий в фоновом режиме, который экономит заряд батареи, автоматически снижая тактовую частоту, когда ЦП работает не с полной нагрузкой.

Это идея. Но как вы на самом деле используете эту функцию? Вам нужны два инструмента для управления частотой процессора: драйвер дальнего расстояния и регулятор. Драйвер дальней связи напрямую обращается к ЦП, изменяя тактовую частоту. Регулятор отслеживает некоторые системные параметры (например, загрузку ЦП) и дает указание модулю ядра увеличить или уменьшить скорость ЦП при изменении системного параметра.

Ядро Linux 2.6 включает в себя систему управления частотой ЦП, которая называется cpufreq. cpufreq включает в себя драйвер дальней связи. Драйвер cpufreq longhaul поддерживает микропроцессоры Samuel, Samuel 2, Ezra и Ezra-T, но не процессоры Nehemiah. Если ваша EPIA работает на частоте 1 ГГц или выше, скорее всего, она оснащена процессором Nehemiah. Чтобы реализовать функцию энергосбережения на Nehemiah под Linux, вам необходимо пропатчить ядро. Вот два метода: первый, более новый и лучший, и второй, старый метод с ошибками.

Кен Статон исправил драйвер дальней связи и отправил исправление для дерева cpufreq. К сожалению, обновление официального ядра Linux может занять некоторое время. А пока нам придется пропатчить ядро ​​и перекомпилировать. Вот патч. Этот патч должен корректно применяться к ядрам 2.6.10 и 2.6.11 и, возможно, даже к 2.4.27.

Теперь вы можете продолжить выполнение инструкций по сборке Linux 2.6-epia, но при настройке ядра обязательно включите масштабирование частоты. Вы найдете его в разделе «Управление питанием» в разделе «Масштабирование частоты процессора». Включите масштабирование частоты процессора. Перейдите в меню регулятора CPUFreq по умолчанию и выберите регулятор пользовательского пространства по умолчанию. Вернитесь в предыдущее меню и создайте регуляторы производительности и энергосбережения в виде модулей. Создайте помощники таблицы частот ЦП и создайте поддержку дальней связи VIA Cyrix III в виде модуля.

После сборки и установки ядра вы должны загрузить модуль в ядро:

Регулятор пользовательского пространства позволяет напрямую управлять скоростью процессора с помощью простых команд cat и echo. Если вы не установили регулятор пользовательского пространства в качестве регулятора по умолчанию, вы должны загрузить модуль. Код 2.6 CPU Frequency Scaling использует новый интерфейс sysfs, поэтому вы должны создать каталог /sys и смонтировать туда файловую систему sysfs. Теперь перейдите в каталог cpufreq, и вы сможете управлять скоростью процессора, как показано ниже:

Читайте также: