Поиск по сайту:

Оптимизируйте срок службы батареи ноутбука с помощью TLP в Linux

Узнайте, как оптимизировать время автономной работы вашего ноутбука с помощью TLP в Linux.

Существует немало инструментов для энергосбережения и продления срока службы батареи ноутбуков. Мы уже рассмотрели два инструмента, а именно Инструменты режима ноутбука и Powertop, которые улучшают работу аккумулятора ноутбука с Linux. Сегодня мы обсудим еще одну утилиту управления питанием ноутбука под названием TLP. TLP — это многофункциональный инструмент командной строки, позволяющий оптимизировать время автономной работы ноутбука в Linux.

Что такое ТЛП?

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

TLP не требует настройки. TLP поставляется с конфигурацией по умолчанию, которая уже оптимизирована для времени автономной работы. Он сразу же реализует рекомендации Powertop. Таким образом, пользователи могут просто установить его и забыть о нем.

Некоторые вещи, которые обрабатывает TLP, включают в себя:

  • Конфигурация в зависимости от источника питания (работаете ли вы от батареи или от сети переменного тока)
  • Масштабирование частоты процессора, включая «турбоускорение»/«турбоядро»
  • Настройки энергосбережения вашего жесткого диска или SSD
  • Управление питанием во время выполнения устройств шины PCI(e)
  • Режим энергосбережения Wi-Fi
  • И более.

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

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

Установите TLP в Linux

TLP входит в состав многих дистрибутивов Linux, включая Arch Linux, Debian, Fedora, Gentoo, openSUSE и Ubuntu.

Чтобы установить TLP в Arch Linux и его вариантах, запустите:

sudo pacman -S tlp tlp-rdw

Если вы используете Thinkpad, вам необходимо установить любой из следующих пакетов. Если вы не знаете точно, какой пакет установить, запустите команду tlp-stat -b от имени пользователя sudo или root. Он подскажет вам, какой пакет установить.

  • acpi_call-lts (Сообщество) - это дополнительный внешний модуль ядра для ядра LTS. Он обеспечивает повторную калибровку батареи для моделей ThinkPad, начиная с 2011 года, таких как T420/X220 и более новые модели.
  • tp_smapi (Сообщество) - это необязательный внешний модуль ядра. Он предоставляет пороговые значения заряда батареи и повторную калибровку для ThinkPad, выпущенных до 2011 года. Он также предоставляет специальные выходные данные tlp-stat -b для моделей, выпущенных до 2011 года.
  • tp_smapi-lts (Сообщество) - это необязательно. Используйте его вместо tp_smapi, когда установлено ядро LTS.

Установите соответствующий пакет, используя предпочитаемый вами менеджер пакетов или с помощью следующей команды:

sudo pacman -S acpi_call

Замените acpi_call на acpi_call-lts, tp_smapi или tp_smapi-lts, где это возможно.

В Debian:

sudo apt install tlp tlp-rdw

Если вы используете ноутбуки модели Thinkpad, вам может потребоваться установить любой из следующих пакетов. Вывод tlp-stat -b подскажет вам, какой пакет установить.

  • acpi-call-dkms (main) - это дополнительный внешний модуль ядра, который обеспечивает повторную калибровку батареи для моделей ThinkPad, начиная с 2011 года, таких как T420/X220 и новее.
  • tp-smapi-dkms (main) — это дополнительный внешний модуль ядра. Он предоставляет пороговые значения заряда батареи и повторную калибровку для ThinkPad, выпущенных до 2011 года. Он также предоставляет специальные выходные данные tlp-stat -b для моделей, выпущенных до 2011 года.

Установите соответствующий пакет, используя предпочитаемый вами менеджер пакетов или с помощью следующей команды:

sudo apt install acpi-call-dkms

При необходимости замените «acpi-call-dkms» на «tp-smapi-dkms».

В Fedora:

sudo dnf install tlp tlp-rdw

Если вы используете ноутбуки модели Thinkpad, установите любой из следующих пакетов. Зависимости следующих пакетов недоступны в репозиториях по умолчанию. Итак, сначала включите репозиторий RPM Fusion в Fedora, а затем установите соответствующие пакеты. Если вы не знаете, какой пакет установить, запустите команду tlp-stat -b от имени пользователя sudo или root.

  • kernel-devel (репозиторий Fedora) - необходим для сборки модуля ядра из пакета akmod.
  • akmod-tp_smapi (репозиторий ThinkPad Extras) — это дополнительный источник внешнего модуля ядра, который обеспечивает пороговые значения заряда батареи и повторную калибровку.

В openSUSE:

sudo zypper install tlp tlp-rdw

Для Thinkpads установите соответствующие пакеты.

  • acpi_call - это дополнительный внешний модуль ядра, который обеспечивает повторную калибровку батареи для моделей ThinkPad, начиная с 2011 года, таких как T420/X220 и новее.
  • tp_smapi - это дополнительный внешний модуль ядра. Он предоставляет пороговые значения заряда батареи и повторную калибровку для ThinkPad, выпущенных до 2011 года. Он также предоставляет специальные выходные данные tlp-stat -b для моделей, выпущенных до 2011 года.

В Ubuntu:

Чтобы установить TLP в Ubuntu и ее производных, добавьте официальный PPA TLP:

sudo add-apt-repository ppa:linrunner/tlp

И установите TLP с помощью команды:

sudo apt install tlp tlp-rdw

Для ноутбуков Thinkpad установите соответствующие пакеты:

  • acpi-call-dkms (PPA или Universe) - это дополнительный внешний модуль ядра, который обеспечивает повторную калибровку батареи для моделей ThinkPad, начиная с 2011 года, таких как T420/ X220 и новее.
  • tp-smapi-dkms (universe) - это необязательный внешний модуль ядра. Он предоставляет пороговые значения заряда батареи и повторную калибровку для ThinkPad, выпущенных до 2011 года. Он также предоставляет специальные выходные данные tlp-stat -b для моделей, выпущенных до 2011 года.

Вы можете установить соответствующий пакет либо с помощью предпочитаемого вами менеджера пакетов, либо с помощью следующей команды:

sudo apt install acpi-call-dkms

При необходимости замените «acpi-call-dkms» на «tp-smapi-dkms».

Опять же, если вы не знаете, какой пакет установить, запустите команду tlp-stat -b от имени sudo или root.

Включите и запустите службу TLP

После установки TLP на ваш компьютер с Linux убедитесь, что он включен при запуске, и запустите службу с помощью команд:

sudo systemctl enable tlp.service
sudo systemctl start tlp.service

Вам также следует замаскировать следующие службы, чтобы избежать конфликтов и обеспечить правильную работу параметров переключения радиоустройств TLP:

sudo systemctl mask systemd-rfkill.service
sudo systemctl mask systemd-rfkill.socket

Оптимизируйте срок службы батареи ноутбука с помощью TLP в Linux

Как я уже упоминал, TLP НЕ требует настройки. Это работает из коробки! Настройки по умолчанию хорошо оптимизированы для увеличения времени автономной работы ноутбука. Вы можете просмотреть эти настройки по умолчанию в файле конфигурации TLP по умолчанию, который находится по адресу /etc/tlp.conf.

Чтобы просмотреть текущую конфигурацию TLP, системную информацию, настройки активного энергосбережения и данные батареи, запустите:

sudo tlp-stat

Пример вывода:

--- TLP 1.3.1 --------------------------------------------
 +++ Configured Settings:
 defaults.conf L0004: TLP_ENABLE="1"
 defaults.conf L0005: TLP_PERSISTENT_DEFAULT="0"
 defaults.conf L0006: DISK_IDLE_SECS_ON_AC="0"
 defaults.conf L0007: DISK_IDLE_SECS_ON_BAT="2"
 defaults.conf L0008: MAX_LOST_WORK_SECS_ON_AC="15"
 defaults.conf L0009: MAX_LOST_WORK_SECS_ON_BAT="60"
 defaults.conf L0010: CPU_ENERGY_PERF_POLICY_ON_AC="balance_performance"
 defaults.conf L0011: CPU_ENERGY_PERF_POLICY_ON_BAT="balance_power"
 defaults.conf L0012: SCHED_POWERSAVE_ON_AC="0"
 defaults.conf L0013: SCHED_POWERSAVE_ON_BAT="1"
 defaults.conf L0014: NMI_WATCHDOG="0"
 defaults.conf L0015: DISK_DEVICES="nvme0n1 sda"
 defaults.conf L0016: DISK_APM_LEVEL_ON_AC="254 254"
 defaults.conf L0017: DISK_APM_LEVEL_ON_BAT="128 128"
 defaults.conf L0018: DISK_IOSCHED="keep keep"
 defaults.conf L0019: SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
 defaults.conf L0020: SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
 defaults.conf L0021: AHCI_RUNTIME_PM_TIMEOUT="15"
 defaults.conf L0022: PCIE_ASPM_ON_AC="default"
 defaults.conf L0023: PCIE_ASPM_ON_BAT="default"
 defaults.conf L0024: RADEON_POWER_PROFILE_ON_AC="default"
 defaults.conf L0025: RADEON_POWER_PROFILE_ON_BAT="default"
 defaults.conf L0026: RADEON_DPM_PERF_LEVEL_ON_AC="auto"
 defaults.conf L0027: RADEON_DPM_PERF_LEVEL_ON_BAT="auto"
 defaults.conf L0028: WIFI_PWR_ON_AC="off"
 defaults.conf L0029: WIFI_PWR_ON_BAT="on"
 defaults.conf L0030: WOL_DISABLE="Y"
 defaults.conf L0031: SOUND_POWER_SAVE_ON_AC="0"
 defaults.conf L0032: SOUND_POWER_SAVE_ON_BAT="1"
 defaults.conf L0033: SOUND_POWER_SAVE_CONTROLLER="Y"
 defaults.conf L0034: BAY_POWEROFF_ON_AC="0"
 defaults.conf L0035: BAY_POWEROFF_ON_BAT="0"
 defaults.conf L0036: BAY_DEVICE="sr0"
 defaults.conf L0037: RUNTIME_PM_ON_AC="on"
 defaults.conf L0038: RUNTIME_PM_ON_BAT="auto"
 defaults.conf L0039: RUNTIME_PM_DRIVER_BLACKLIST="amdgpu mei_me nouveau nvidia pcieport radeon"
/etc/tlp.conf L0323: USB_AUTOSUSPEND="0"
 defaults.conf L0041: USB_BLACKLIST_BTUSB="0"
 defaults.conf L0042: USB_BLACKLIST_PHONE="0"
 defaults.conf L0043: USB_BLACKLIST_PRINTER="1"
 defaults.conf L0044: USB_BLACKLIST_WWAN="0"
 defaults.conf L0045: USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN="0"
 defaults.conf L0046: RESTORE_DEVICE_STATE_ON_STARTUP="0"
 defaults.conf L0047: RESTORE_THRESHOLDS_ON_BAT="0"
 defaults.conf L0048: NATACPI_ENABLE="1"
 defaults.conf L0049: TPACPI_ENABLE="1"
 defaults.conf L0050: TPSMAPI_ENABLE="1"
 +++ System Info
 System         = Dell Inc. Not Specified Inspiron N5050
 BIOS           = A05
 Release        = "Fedora release 34 (Thirty Four)"
 Kernel         = 5.11.17-300.fc34.x86_64 #1 SMP Wed Apr 28 14:21:28 UTC 2021 x86_64
BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.11.17-300.fc34.x86_64 root=UUID=2dbf3f8b-de51-413e-8872-5fb61c06cb8f ro rootflags=subvol=root rhgb quiet
 Init system    = systemd 
 Boot mode      = BIOS (CSM, Legacy)
 SELinux status = enabled (enforcing)
 +++ TLP Status
 State          = enabled
 RDW state      = enabled
 Last run       = 02:46:11 PM IST,     53 sec(s) ago
 Mode           = battery
 Power source   = battery
[...]

Просмотр текущих настроек конфигурации TLP, настроек энергосбережения и данных о батарее.

Отключить автоматическую приостановку USB

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

Чтобы отключить автоприостановку USB, отредактируйте файл /etc/tlp.conf:

sudo nano /etc/tlp.conf

Найдите следующую строку и установите для нее значение 0.

USB_AUTOSUSPEND=0

Вы также можете исключить определенные устройства из автоприостановки USB (через пробелы). Сначала используйте команду lsusb, чтобы получить идентификаторы. Затем укажите идентификаторы устройств через пробел, как показано ниже.

USB_BLACKLIST="8078:0014 065d:8023"

Сохраните и закройте файл, нажав CTRL+O, а затем CTRL+X.

Принудительная конфигурация батареи (BAT)

Если источник питания не обнаружен, настройка переменного тока будет использоваться на таких устройствах, как настольные компьютеры и встроенное оборудование. Если вы хотите принудительно настроить параметры батареи (BAT) при использовании TLP на этих устройствах для обеспечения большей экономии энергии, отредактируйте файл /etc/tlp.conf:

sudo nano /etc/tlp.conf

Найдите следующие строки и установите их значения, как показано здесь:

Operation mode when no power supply can be detected: AC, BAT.
TLP_DEFAULT_MODE=BAT

Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
TLP_PERSISTENT_DEFAULT=1

Для получения более подробной информации посетите веб-сайт TLP и страницу GitHub, указанную в конце.

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

Вопрос 1. Что такое TLP?

О: TLP — это инструмент управления питанием для систем на базе Linux. Он оптимизирует срок службы батареи, управляя настройками системы, такими как настройки источника питания, скорость процессора, скорость вращения жесткого диска и энергосбережение Wi-Fi.

Вопрос 2. Требуется ли настройка TLP?

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

Вопрос 3. Как установить TLP?

О: TLP можно установить через терминал с помощью команд управления пакетами, таких как apt для систем на базе Debian/Ubuntu или dnf для систем Fedora.

Вопрос 4. Может ли TLP помочь в решении проблем с перегревом?

О: Да, TLP может помочь управлять нагревом системы путем интеллектуального управления настройками системы, влияющими на энергопотребление и выделение тепла.

Вопрос 5: Как проверить, работает ли TLP?

О: Проверить, запущен ли TLP, можно с помощью команды терминала sudo tlp-stat -s.

Вопрос 6. Работает ли TLP на всех ноутбуках?

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

Вопрос 7. Могу ли я использовать TLP в настольных системах?

О: Хотя TLP в первую очередь разработан для ноутбуков, некоторые его функции также можно использовать и в настольных системах. Однако преимущества настольного компьютера могут быть менее заметными.

Вопрос 8. Можно ли использовать TLP бесплатно?

О: Да, TLP имеет открытый исходный код и бесплатен для использования. Он распространяется под лицензией GPLv2.

Заключение

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

Ресурсы:

  • Сайт TLP
  • Репозиторий TLP GitHub

Связанное чтение:

  • Автоматическая оптимизация скорости и мощности процессора с помощью Auto-cpufreq в Linux
  • Диспетчер питания процессора — контроль и управление частотой процессора в Linux
  • Как проверить состояние и уровень заряда батареи ноутбука в терминале в Linux

Изображение Мохамеда Хасана с сайта Pixabay.

Статьи по данной тематике