Регуляторы ЦП на Android: что это и как их настроить

Регулятор частоты процессора (governor) на Android определяет, как ядра ЦП меняют частоту под нагрузкой: агрессивно разгоняются до максимума или плавно поднимают частоту, экономя заряд батареи. Неправильно выбранный регулятор — частая причина того, что смартфон с кастомным ядром быстро разряжается или, наоборот, тормозит в играх и при прокрутке интерфейса.

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

Что такое governor и как он работает

Governor — это алгоритм масштабирования частоты, встроенный в ядро Linux, на котором работает Android. Он решает, на какой частоте держать ядра процессора в каждый момент времени: опрашивает нагрузку и либо повышает частоту для отзывчивости, либо снижает её ради энергосбережения.

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

Важно понимать: governor не повышает частоту выше аппаратного предела и не снижает её ниже минимума, заданного ядром. Он лишь выбирает рабочую точку внутри допустимого диапазона. За верхнюю и нижнюю границы отвечают отдельные параметры ядра.

Основные виды регуляторов

Набор доступных governor зависит от конкретного ядра: стоковые ядра обычно предлагают ограниченный список, кастомные — расширенный. Ниже — режимы, которые встречаются чаще всего.

  • Performance — ядра постоянно держатся на максимальной частоте. Максимальная отзывчивость, но заметный расход батареи и нагрев.
  • 🔋 Powersave — противоположный режим: частота фиксируется на минимуме. Экономия энергии ценой ощутимых подтормаживаний.
  • 📊 Ondemand — классический адаптивный режим: резко повышает частоту при нагрузке и быстро сбрасывает её в простое.
  • 🎚️ Conservative — похож на ondemand, но меняет частоту плавно, ступенями. Чуть медленнее реагирует, чуть экономичнее.
  • 🧠 Interactive — оптимизирован под сенсорный ввод: ускоряет процессор при касании экрана, что даёт плавный интерфейс. Именно его вариации часто используются в стоковых прошивках.
  • ⚙️ Schedutil — современный регулятор, опирающийся на данные планировщика задач ядра. Встречается на свежих версиях Android и ядер Linux.

Кастомные ядра могут добавлять собственные режимы — например, модификации interactive с упором на автономность или игры. Их поведение описано в документации конкретного ядра, и универсальных характеристик у таких governor нет.

Сравнение популярных режимов

Таблица ниже даёт общее представление о компромиссах между режимами. Реальное поведение зависит от ядра и прошивки, поэтому воспринимайте её как ориентир, а не как точные измерения.

РегуляторОтзывчивостьРасход батареиТиповой сценарий
PerformanceМаксимальнаяВысокийИгры, бенчмарки
PowersaveНизкаяМинимальныйДолгое ожидание, ночной режим
OndemandСредняяСреднийПовседневное использование
InteractiveВысокая при касанияхУмеренныйИнтерфейс, браузинг
SchedutilСбалансированнаяУмеренныйУниверсальный режим
📊 Какой регулятор ЦП вы используете или хотели бы попробовать?
Interactive / schedutil (баланс)
Performance (максимум скорости)
Powersave (максимум автономности)
Не пробовал, устройство без root

Как узнать текущий регулятор

Проверить активный governor можно без установки лишних приложений — через терминал. Потребуется эмулятор терминала или adb shell с компьютера. Само чтение параметра root-прав обычно не требует, хотя на части прошивок доступ к sysfs может быть ограничен.

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Команда выведет название активного регулятора для первого ядра. Список всех доступных режимов показывает другой файл того же каталога:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

Обратите внимание: на многоядерных чипах с кластерами (big.LITTLE и подобными) пути для разных кластеров могут отличаться — например, cpu0 для энергоэффективных ядер и cpu4 или cpu6 для производительных. Точная нумерация зависит от чипа, проверяйте содержимое каталога /sys/devices/system/cpu/.

Почему на разных ядрах разные регуляторы

На чипах с архитектурой big.LITTLE мощный и энергоэффективный кластеры могут работать с разными governor одновременно. Например, лёгкий кластер — на powersave-подобном режиме, а производительный — на interactive. Это нормальное поведение, а не ошибка настройки.

Как сменить регулятор: способы и инструкция

Для смены governor нужен root-доступ и ядро, в котором нужный режим присутствует в списке доступных. Есть два пути: временное переключение через терминал и постоянная настройка через приложение-менеджер ядра.

Временное переключение через терминал (действует до перезагрузки):

su

echo interactive > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Для постоянной настройки удобнее использовать приложения для управления ядром — они умеют применять параметры при загрузке и показывать статистику частот. Конкретный набор функций зависит от приложения и совместимости с вашим ядром, поэтому перед изменениями проверьте, что выбранный режим вообще поддерживается (см. команду выше).

☑️ Безопасная смена регулятора

Выполнено: 0 / 5
⚠️ Внимание: режим performance держит процессор на максимальной частоте постоянно. При длительной нагрузке это ведёт к нагреву, троттлингу и ускоренной деградации аккумулятора. Не оставляйте этот режим постоянным на устройстве, которое используется в жару или на зарядке.

Какой регулятор выбрать под задачу

Универсального «лучшего» governor не существует — выбор зависит от того, что вам важнее: плавность, автономность или стабильность под нагрузкой. Для большинства сценариев разумной отправной точкой служит тот режим, который ядро использует по умолчанию: он протестирован производителем под конкретный чип и систему охлаждения.

Для игр имеет смысл попробовать performance на время сессии с возвратом к сбалансированному режиму после. Для максимальной автономности — powersave или консервативные варианты, но будьте готовы к задержкам интерфейса. Повседневный компромисс обычно дают interactive и schedutil.

Если после смены режима появились фризы, перезагрузки или сильный нагрев — это признак того, что выбранный governor плохо сочетается с вашим ядром или остальными настройками частот. Верните исходное значение и проверьте стабильность.

⚠️ Внимание: настройки регулятора сбрасываются при перезагрузке, если их не применять автоматически через менеджер ядра. Не считайте устройство «настроенным», пока не проверили, что после перезагрузки активен именно тот режим, который вы выбрали.

Тонкие параметры governor и их риски

У адаптивных регуляторов есть дополнительные ручки настройки: пороги нагрузки для повышения и понижения частоты, частота опроса, минимальное время удержания частоты. Они лежат в подкаталогах /sys/devices/system/cpu/cpufreq/ и отличаются для каждого governor.

Менять эти параметры стоит только с пониманием их смысла: слишком низкий порог повышения частоты сводит на нет экономию, а слишком высокий — делает интерфейс дёрганым. Значения по умолчанию, зашитые в ядро, обычно подобраны под конкретный чип, и «улучшить» их вслепую сложно.

⚠️ Внимание: не путайте настройку governor с разгоном (overclock) и изменением напряжений (undervolt/overvolt). Последние напрямую влияют на стабильность и тепловой режим чипа и при ошибке способны вызвать зависания, повреждение данных и износ железа. Смена регулятора сама по себе этих рисков не несёт.

Часто задаваемые вопросы

Можно ли сменить регулятор ЦП без root?

Нет. Запись в параметры ядра через sysfs требует прав суперпользователя. Без root остаются только штатные режимы энергосбережения и производительности, которые прошивка предлагает в настройках батареи — они косвенно влияют на поведение процессора, но не дают выбрать governor напрямую.

Какой governor лучше для батареи?

Наиболее экономичен powersave, но он заметно замедляет устройство. Практичный компромисс — conservative или настроенный на экономию вариант interactive. Реальная автономность сильнее зависит от яркости экрана, сети и фоновых приложений, чем от одного лишь регулятора.

Почему в списке нет нужного регулятора?

Набор governor зашит в ядро при его сборке. Если режима нет в scaling_available_governors, программно добавить его нельзя — потребуется ядро, собранное с поддержкой этого регулятора, что относится уже к области кастомных прошивок.

Сбросятся ли настройки после перезагрузки?

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

Влияет ли смена регулятора на гарантию?

Сам по себе governor не влияет, однако root-доступ, необходимый для его смены, на многих устройствах означает разблокировку загрузчика, что может повлиять на гарантийные обязательства. Условия зависят от производителя и региона — уточняйте их до получения root.