LinuxRuLinux без лишней теории
Ноутбук

Как увеличить время работы ноутбука с Linux от батареи

Редакция LinuxRu7 мин чтенияСоветы

Увеличить время работы ноутбука с Linux проще всего в три шага: измерить расход через upower и powertop, включить профиль энергосбережения и убедиться, что дискретная видеокарта спит. Дальше идут TLP, порог заряда для долгой жизни батареи и аппаратное декодирование видео. Ниже по порядку, с командами для Ubuntu, Fedora и Arch.

Как увеличить время работы ноутбука с Linux от батареи
Фото: Yleventa2, CC BY-SA 4.0, Wikimedia Commons
Содержание
  1. Сначала измерить
  2. Профили питания
  3. TLP
  4. Порог заряда
  5. Гибридная графика
  6. Видео и браузер
  7. Мелочи
  8. Сон и диагностика
  9. Частые вопросы

Сначала измерьте: состояние батареи и реальный расход

Прежде чем что-то настраивать, выясните две вещи: сколько ёмкости осталось у самой батареи и сколько ватт ноутбук тратит в простое. Без этих цифр любая оптимизация превращается в гадание.

upower -e
upower -i /org/freedesktop/UPower/devices/battery_BAT0

В выводе смотрите на energy-full и energy-full-design: их отношение и есть износ. Строка capacity показывает его в процентах. Если от батареи осталось 60% исходной ёмкости, программная настройка вернёт меньше, чем замена аккумулятора. Поле energy-rate показывает текущее потребление в ваттах, при работе от сети оно может быть пустым.

Для детального разбора поставьте powertop, он есть во всех дистрибутивах:

sudo apt install powertop      # Debian, Ubuntu
sudo dnf install powertop      # Fedora
sudo pacman -S powertop        # Arch
sudo powertop

Отключите зарядку и подождите пару минут, пока цифры устаканятся. На вкладке "Overview" видно, какие процессы и устройства чаще всего будят процессор. Браузер с десятком вкладок, мессенджер на Electron или зависший индексатор файлов нередко съедают больше, чем все системные настройки вместе взятые.

Профили питания: power-profiles-daemon и tuned-ppd

В большинстве современных дистрибутивов управление питанием уже работает из коробки, и первым делом стоит научиться им пользоваться, а не заменять его. В GNOME и KDE Plasma переключатель профилей живёт в меню батареи: "Энергосбережение", "Сбалансированный", "Производительность". Где искать остальные настройки питания в свежих окружениях, показано в статьях о KDE Plasma 6.6 и GNOME 50.

За переключателем стоит служба, совместимая с D-Bus API power-profiles-daemon. В Ubuntu и Debian это сам power-profiles-daemon, в Fedora начиная с 41-й версии его заменил tuned-ppd на основе TuneD. Команды управления одинаковые:

powerprofilesctl list
powerprofilesctl get
powerprofilesctl set power-saver

На Fedora можно заглянуть глубже, в профили самого TuneD:

tuned-adm active
tuned-adm list

Профиль "Энергосбережение" на ноутбуках с AMD и современными Intel меняет параметры драйвера частоты процессора (amd-pstate или intel_pstate) и подсказку энергоэффективности. Для чтения, браузера и офиса падения скорости обычно не заметно, а вот при сборке кода или в играх разница будет видна.

TLP: тонкая настройка вместо стандартной службы

TLP - давно известный набор правил энергосбережения: процессор, диски, PCIe, USB, Wi-Fi, пороги заряда. С версии 1.9, вышедшей в конце 2025 года, в TLP есть собственная служба tlp-pd с тем же D-Bus API, поэтому переключатель профилей в KDE и GNOME продолжает работать. Профилей стало три: performance, balanced и power-saver. Если у вас 1.9.0, обновитесь до 1.9.1 или новее: в первой версии tlp-pd нашли уязвимость в проверке прав через Polkit.

Главное правило: одна служба управления питанием на систему. TLP конфликтует с power-profiles-daemon, tuned и tuned-ppd, а также с auto-cpufreq.

ИнструментПо умолчанию вСильная сторонаС чем конфликтует
power-profiles-daemonUbuntu, Debian, многие другиеНичего не надо настраиватьTLP, tuned
tuned-ppdFedora 41 и новееГибкие профили TuneDTLP, power-profiles-daemon
TLP 1.9Ставится отдельноДесятки параметров, пороги зарядаpower-profiles-daemon, tuned, auto-cpufreq

Установка с заменой штатной службы:

# Ubuntu, Debian: проверьте, что apt убрал power-profiles-daemon
sudo apt install tlp tlp-rdw
# Fedora: сначала убрать tuned-ppd
sudo dnf remove tuned-ppd
sudo dnf install tlp tlp-rdw
# Arch
sudo pacman -S tlp tlp-rdw
sudo systemctl mask systemd-rfkill.service systemd-rfkill.socket
# включить на всех системах
sudo systemctl enable --now tlp.service

В репозиториях LTS-дистрибутивов может оказаться версия до 1.9, без tlp-pd. Тогда переключатель профилей в панели работать не будет, а режим определяется только тем, подключена ли зарядка. Проверить версию и состояние можно командой sudo tlp-stat -s.

Свои параметры кладите отдельным файлом в /etc/tlp.d/, а не правьте основной /etc/tlp.conf: так их не затрёт обновление пакета. После правки выполните sudo tlp start. Откат простой: sudo systemctl disable --now tlp.service, удалить пакет и вернуть штатную службу.

Порог заряда: батарея проживёт дольше

Если ноутбук большую часть времени стоит на зарядке, держать батарею на 100% вредно для её ресурса. Ограничение заряда на уровне 80% не прибавит часов сегодня, но заметно замедлит износ, и через пару лет батарея будет держать дольше.

Поддержка зависит от модели: порог умеют выставлять ThinkPad, многие ASUS, часть Lenovo IdeaPad, Huawei, Framework и другие. Проверьте, есть ли нужный файл в sysfs:

ls /sys/class/power_supply/BAT0/ | grep charge_control
cat /sys/class/power_supply/BAT0/charge_control_end_threshold

Если файл есть, порог можно выставить без сторонних программ:

  • KDE Plasma: "Параметры системы", "Управление питанием", поле предела заряда батареи;
  • GNOME: в разделе "Питание" свежих версий есть переключатель сохранения здоровья батареи;
  • TLP: параметры в файле /etc/tlp.d/10-battery.conf.
START_CHARGE_THRESH_BAT0=75
STOP_CHARGE_THRESH_BAT0=80

Перед дорогой зарядите батарею полностью разово: sudo tlp fullcharge, до следующей перезагрузки или до команды sudo tlp setcharge порог будет снят. Ручная запись в charge_control_end_threshold через echo тоже работает, но сбрасывается после перезагрузки на части моделей.

Дискретная видеокарта: главный пожиратель заряда

На ноутбуках с NVIDIA и встроенной графикой разница в автономности между "дискретная спит" и "дискретная работает" бывает кратной. Нужно, чтобы рабочий стол рисовала встроенная видеокарта, а NVIDIA включалась только для игр и тяжёлых задач.

Проверьте, засыпает ли дискретная карта:

lspci | grep -E "VGA|3D"
cat /sys/bus/pci/devices/0000:01:00.0/power/runtime_status

Адрес устройства возьмите из вывода lspci. Значение suspended - хорошо, active в простое - плохо. В Ubuntu режим переключается командой sudo prime-select on-demand, в этом режиме приложения по умолчанию идут через встроенную графику. Учтите, что любой вызов nvidia-smi или мониторинг температуры видеокарты в панели будит её, и она не засыпает снова, пока программа опрашивает датчики.

Если с драйвером что-то не так, начните с того, чтобы узнать, какой видеодрайвер используется, а установка и режимы NVIDIA подробно описаны в статье про драйвер NVIDIA.

Аппаратное декодирование видео

Видео на YouTube и в онлайн-кинотеатрах, декодируемое процессором, тратит заметно больше энергии, чем то же видео через блок декодирования видеокарты. Проверьте, что VA-API вообще работает:

sudo apt install vainfo     # в Fedora и Arch пакет называется libva-utils
vainfo

В выводе должен быть список профилей вроде VAProfileH264, VAProfileHEVC, VAProfileAV1. Если вместо этого ошибка, не хватает драйвера: для Intel это intel-media-driver, для AMD драйвер входит в Mesa. В Fedora кодеки H.264 и HEVC для Mesa приходят из RPM Fusion.

Firefox на свежих версиях Mesa включает аппаратное декодирование сам, проверить можно на странице about:support в разделе "Медиа". В Chromium-браузерах поддержка зависит от версии и сборки дистрибутива. Простой признак успеха: при воспроизведении видео 1080p нагрузка на процессор в top не поднимается выше нескольких процентов.

Мелочи, которые складываются в часы

  • Яркость экрана. Экран обычно главный потребитель после процессора. Снижение яркости с максимума до комфортной половины даёт больше, чем большинство твиков.
  • Частота обновления. На экранах 120-165 Гц переключение на 60 Гц при работе от батареи экономит энергию, в KDE и GNOME это делается в настройках дисплея.
  • Подсветка клавиатуры и Bluetooth. Не нужны - выключите.
  • Энергосбережение Wi-Fi. В NetworkManager за него отвечает параметр wifi.powersave = 3 в секции [connection] файла в /etc/NetworkManager/conf.d/. В Ubuntu он включён по умолчанию.
  • powertop --auto-tune. Включает автоприостановку всех устройств. Работает, но иногда усыпляет USB-мышь или звуковую карту, поэтому сначала проверьте вручную и только потом делайте службой.
  • Фоновые программы. Синхронизаторы, индексаторы и клиенты облаков работают постоянно, посмотрите, какие из них реально нужны.

Меняйте по одной вещи за раз и после каждого изменения смотрите на energy-rate в upower или на оценку в powertop в течение нескольких минут. Так вы поймёте, что действительно помогло, и легко откатите то, что сломало сон или Wi-Fi.

Батарея садится во сне или после обновления

Если ноутбук за ночь в режиме сна теряет треть заряда, проверьте, какой режим сна используется:

cat /sys/power/mem_sleep

Значение в квадратных скобках активно. [s2idle] - "современный" сон, на части ноутбуков он расходует заметно больше, чем классический deep. Если в списке есть deep, попробуйте его: echo deep | sudo tee /sys/power/mem_sleep. Помогло - закрепите параметром ядра mem_sleep_default=deep. На многих новых моделях deep нет совсем, тогда смотрите обновления BIOS.

Если автономность упала сразу после обновления, загрузите предыдущее ядро из меню загрузчика и сравните расход. Подтвердилось - это регрессия, оставайтесь на старом ядре до исправления. Проверьте и журнал на ошибки драйверов: journalctl -b -p warning.

Для глубокой настройки отдельных подсистем есть подробная страница Power management в ArchWiki. Если в вашей системе мало памяти и ноутбук активно пишет в swap, это тоже бьёт по батарее, решение описано в статье про ZRAM.

Частые вопросы

Что лучше: TLP или power-profiles-daemon?

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

Нужен ли auto-cpufreq?

Это сторонний инструмент, который управляет частотами процессора. Он конфликтует с TLP и power-profiles-daemon. На современных AMD и Intel со штатными драйверами amd-pstate и intel_pstate выигрыш от него сомнителен, начните со стандартных средств.

Вредно ли держать ноутбук всё время на зарядке?

Постоянное хранение на 100% ускоряет износ литиевой батареи. Если модель поддерживает порог заряда, ограничьте его на 80%.

Почему в Linux батарея держит меньше, чем в Windows?

Частые причины: дискретная видеокарта не засыпает, видео декодируется процессором, на ноутбуке используется s2idle с высоким расходом во сне. Производители оптимизируют свои драйверы под Windows, поэтому на части моделей разница остаётся даже после настройки.

Как откатить изменения, если что-то сломалось?

Отключите и удалите TLP или другой установленный инструмент, верните power-profiles-daemon или tuned-ppd, удалите свои файлы из /etc/tlp.d/ и /etc/NetworkManager/conf.d/, уберите добавленные параметры ядра и перезагрузитесь.

Документация и источники

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

Команды проверены на актуальных версиях дистрибутивов на момент обновления. Перед изменением системных настроек сделайте резервную копию.