Как проверить и управлять частотой CPU в Ubuntu

Содержание
- Как проверить текущую частоту процессора
- Быстрый обзор: dmesg
- lscpu и /proc/cpuinfo
- Графические инструменты: hardinfo
- Дополнительные утилиты: cpupower, cpufrequtils, i7z
- Управление частотой: CPU Power Manager и системные инструменты
- Установка и запуск GNOME-апплета
- Параметры: минимальная/максимальная частота, профили
- Создание собственного профиля
- Практическое руководство (SOP) для изменения профиля
- Тесты и критерии приёмки
- Отладка и откат (incident runbook)
- Риски и рекомендации по безопасности
- Совместимость и примечания для локали
- Часто задаваемые вопросы (FAQ)
- Краткое резюме
Как проверить текущую частоту процессора
Прежде чем менять параметры управления энергопотреблением, важно понять текущее состояние системы и базовую (минимальную/максимальную) частоту процессора.
Быстрый способ: dmesg
dmesg выводит сообщения ядра — среди них есть записи о базовой частоте CPU, которые появляются при загрузке системы. Выполните в терминале:
sudo dmesg | grep MHzЕсли вывод содержит дополнительные строки с частотами (например, других устройств), используйте более точный поиск:
sudo dmesg | grep "MHz processor"Примечание: dmesg показывает информацию, зарегистрированную при загрузке, то есть это скорее базовое/табличное значение, а не мгновенная текущая частота под нагрузкой.

Проверка через lscpu и /proc/cpuinfo
lscpu — утилита, специально показывающая характеристики CPU:
lscpu | grep "MHz"Обычно команда печатает:
- CPU max MHz — максимальная частота, которую поддерживает ваш процессор (важно при разгоне).
- CPU min MHz — минимальная частота (базовая/минимальная при простое).
Кроме того, можете посмотреть /proc/cpuinfo для текущих значений каждого ядра:
cat /proc/cpuinfo | grep "cpu MHz"/ proc/cpuinfo покажет текущую (динамическую) частоту каждого логического ядра в момент вызова.

Графический способ: hardinfo
Если вы предпочитаете GUI, установите hardinfo и откройте его как приложение «System Profiler and Benchmark».
sudo apt install hardinfoЗапустите приложение («Win» → введите hardinfo). Нажмите «Refresh» (Обновить), затем выберите «Processor» → в разделе «Configuration» смотрите строку «Frequency».



Утилиты для более тонкого контроля и мониторинга
- cpupower (пакет linux-tools): показывает и управляет частотной политикой и режимами управления энергопотреблением. Установка (пример):
sudo apt install linux-tools-common linux-tools-generic linux-tools-$(uname -r)Использование для получения информации:
sudo cpupower frequency-info- cpufrequtils: набор простых утилит (cpufreq-info, cpufreq-set):
sudo apt install cpufrequtils
cpufreq-info- i7z: для процессоров Intel — показывает текущие тактовые частоты и состояние энергопотребления (C-states, P-states).
Эти инструменты дают более полную картину: текущие и исторические значения, текущий governor (политика) и поддерживаемые частоты.
Управление частотой: CPU Power Manager и системные механизмы
В Ubuntu для удобства можно установить GNOME-расширение «CPU Power Manager» — оно предоставляет элементы управления в панели, создание профилей и быстрый выбор политик.

Установка необходимых компонентов для расширений
- Установите помощник для интеграции расширений с браузером:
sudo apt install chrome-gnome-shellУстановите расширение браузера (на странице GNOME Extensions нажмите «Click here to install browser extension»).
На странице расширений найдите «CPU Power Manager» и включите переключателем.
Если ваш браузер — snap-пакет (например, Firefox из Ubuntu 22.04+), расширение не увидит локальную службу. Для этого либо используйте другой браузер (не snap), либо используйте deb-пакет Firefox (при необходимости удалите snap-версию и установите deb из PPA).


Параметры CPU Power Manager
Откройте апплет через значок процессора в трее. Основные понятия:
- Minimum Frequency (Минимальная частота): нижняя граница, ниже которой CPU не будет опускаться в политике.
- Maximum Frequency (Максимальная частота): верхняя граница для частоты CPU.
- Current Frequency (Текущая частота): мгновенная частота в момент просмотра.
- Built-in profiles (Встроенные профили): быстрый выбор политик, например «High Performance», «Balanced», «Power Saver».
Пример: профиль «High Performance» может установить Minimum = 50% и Maximum = 100% (проценты относятся к максимально поддерживаемой частоте).

Создание собственного профиля
В меню апплета откройте Preferences → Profiles → нажмите «+», задайте имя профиля и укажите минимальную и максимальную частоты (или проценты), затем «Save». Профили можно переключать вручную или назначать на события (если расширение поддерживает триггеры).


Практическое руководство (SOP) для изменения профиля частоты
- Оцените базовые значения:
- Выполните lscpu и cpupower frequency-info.
- Снимите эталонную нагрузку и измерьте поведение (см. тесты ниже).
- Создайте профиль «Test-50-80» с Minimum = 50% и Maximum = 80%.
- Примените профиль и запустите нагрузочный тест (stress-ng, sysbench или компиляция реального проекта).
- Мониторьте температуру (sensors), потребление (upower) и поведение приложений.
- Если есть проблемы — верните предыдущий профиль или профиль «Balanced».
- Задокументируйте изменения и время их применения.
Kоманды примеров для тестирования:
sudo apt install stress-ng lm-sensors powertop
sudo sensors-detect # отвечает Yes/No в диалоге (внимательно)
watch -n 1 "cat /proc/cpuinfo | grep 'cpu MHz' -m 20"Важно: выполняйте изменения постепенно и документируйте результаты.
Критерии приёмки (Test cases / Acceptance criteria)
- Система остаётся стабильной в течение 30 минут под целевой нагрузкой (stress-ng –cpu N –timeout 30m).
- Температура процессора не превышает безопасных пределов производителя (обычно ≤ 85–95 °C для большинства мобильных CPU; смотрите документацию производителя).
- Производительность приложения не падает ниже заранее определённого порога (например, время выполнения задачи ухудшилось не более чем на 20% по сравнению с исходным профилем, если целью был баланс производительности).
- Время автономной работы увеличилось (по результату теста powertop или реально измеренному времени работы батареи) при выборе «Power Saver» профиля.
Отладка и откат (Incident runbook)
- Симптом: резкие падения производительности или перегрев после применения нового профиля.
- Действие: немедленно переключитесь на профиль «Balanced» или «High Performance» (в зависимости от симптомов).
- Проверьте логи: journalctl -b -p err –no-pager
- Проверьте значения в /sys/devices/system/cpu/cpu*/cpufreq/scaling_{min,max}_freq
- Симптом: GNOME-расширение не работает (native host not detected)
- Действие: если Firefox — snap, установите другой браузер (например, Chromium из репозитория) либо установите деб-пакет Firefox из mozillateam PPA:
sudo snap remove firefox
sudo add-apt-repository ppa:mozillateam/ppa && sudo apt update && sudo apt install firefoxСимптом: команда cpupower/ cpufreq-info отсутствует
- Действие: установите соответствующий пакет: cpufrequtils или linux-tools-$(uname -r).
Откат профилей: удалите пользовательский профиль из настроек апплета или вручную восстановите значения в /sys:
# пример: восстановление максимума в kHz (значение из lscpu scaled)
echo 1800000 | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq(Примечание: записи в /sys требуют правильной единицы — обычно kHz.)
Модели принятия решения (heuristics / decision tree)
Используйте простую эвристику при выборе профиля:
- Основная цель — «Максимальная производительность»: установите Maximum = 100%, Minimum >= 50%.
- Цель — «Длительная автономность»: Maximum = 60–80%, Minimum = 20–40%.
- Цель — «Баланс»: Minimum = 30–50%, Maximum = 80–90%.
Ниже — упрощённое дерево решений (Mermaid):
graph TD
A[Нужна производительность или экономия батареи?] -->|Производительность| B[High Performance]
A -->|Экономия| C[Power Saver]
A -->|Баланс| D[Balanced]
B --> E[Установить Min 50–70%, Max 100%]
C --> F[Установить Min 20–40%, Max 60–80%]
D --> G[Установить Min 30–50%, Max 80–90%]Риски и рекомендации по безопасности
- Постоянная работа на 100% (Min=Max=100%) может привести к увеличенному износу, более высокой температуре и потенциальному снижению срока службы компонентов. Избегайте таких настроек на старом оборудовании.
- Для серверов ориентируйтесь на SLA и характеристики охлаждения; тестируйте изменения в изолированной среде.
- Команды, которые напрямую пишут в /sys/devices/system/cpu/*, требуют root и изменяют поведение ядра — документируйте и имейте план отката.
Совместимость и примечания для Ubuntu и локали
- Intel и AMD поддерживают разные наборы P-states и C-states. Некоторые функции могут отсутствовать на старых ядрах.
- Для LTS-релизов Ubuntu с ядром 5.x большинство описанных инструментов работают без изменений; для старых или специализированных ядер могут потребоваться дополнительные пакеты (linux-tools-
, cpufreq драйверы). - Если вы используете Wayland и GNOME, убедитесь, что версия расширения совместима с вашей сборкой GNOME Shell.
Когда управление частотой даёт слабый эффект (когда это не работает)
- Нагрузка связана с вводом‑выводом (I/O bound): уменьшение частоты CPU не сильно повлияет на время отклика.
- Устаревшие драйверы или BIOS/UEFI, которые принудительно диктуют частоты — в этом случае управлять частотой через ОС затруднительно.
- Аппаратные ограничения: некоторые ноутбуки имеют микрокод или контроль от производителя, который блокирует программную регулировку.
Полезные сценарии и шаблоны (role-based checklist)
Администратор сервера:
- Проверить поддержку cpupower/ cpufreq в текущем ядре.
- Протестировать профиль на стенде, замерить SLO/SLI.
- Документировать изменения и добавить в CMDB.
Разработчик/Dev:
- Проверить влияние профиля на время сборки проекта.
- Использовать мониторинг (perf, top, htop) для анализа узких мест.
Пользователь ноутбука (энергосбережение):
- Создать профиль «Battery» с Max=60–80%.
- Тестировать время автономной работы в реальных задачах (видео, браузинг).
Мини-глоссарий (1‑строчная дефиниция)
- Частота CPU: тактовая частота, измеряется в MHz/ GHz — влияет на скорость выполнения инструкций.
- Base / Min CPU frequency: нижняя граница частоты в политике управления энергопотреблением.
- Max CPU frequency: верхняя граница, максимум, поддерживаемый CPU.
- Governor: политика управления частотой (performance, powersave, ondemand, schedutil и т. д.).
Часто задаваемые вопросы (FAQ)
Я получаю ошибку “command not found” при запуске lscpu. Как исправить?
Команда lscpu входит в пакет util-linux. Установите его или обновите:
sudo apt install util-linuxПоявляется ошибка “native host not detected” при работе с GNOME Extensions. Моя система сломана?
Нет. Если ваш браузер упакован как snap (например, Firefox в Ubuntu 22.04+), он не видит локальную интеграцию. Рекомендуем установить Firefox из deb‑репозитория mozillateam или использовать другой браузер (не snap) для установки расширений.
sudo snap remove firefox
sudo add-apt-repository ppa:mozillateam/ppa && sudo apt update && sudo apt install firefoxМожно ли поставить Minimum и Maximum на 100%?
Да, но это держит процессор всегда на максимальной нагрузке, что повышает температуру и износ компонентов. Лучше оставлять зазор 30–50% между Min и Max, если вы не уверены в охлаждении и состоянии памяти.
Примеры тестов (acceptance tests)
- Нагрузочный тест: stress-ng –cpu N –timeout 600s — система остаётся стабильной и не тротлит свыше допустимой температуры.
- Тест автономности: повторный запуск теста батареи с профилями «Battery» и «Balanced», заметное увеличение времени работы с профилем «Battery».
- Тест производительности приложения: измерить время выполнения реальной задачи (сборка/рендер) при разных профилях, сравнить изменение.
Резюме
- Частоту процессора в Ubuntu можно быстро проверить с помощью dmesg, lscpu и /proc/cpuinfo; для подробного мониторинга используйте cpupower или cpufrequtils.
- Для удобного управления — GNOME-расширение CPU Power Manager позволяет создавать профили и переключать политики в панели.
- Перед изменениями проводите тесты и имейте план отката; избегайте постоянной работы на 100% для сохранения аппаратного ресурса.
Важно: всегда учитывайте специфику оборудования и требования задач при выборе профиля — оптимальное решение балансирует производительность, нагрев и время автономной работы.
Image credit: Brian Balliet via Unsplash. All alterations and screenshots by Ramces Red.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента