Оптимизируйте срок службы батареи ноутбука с помощью 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.