Controle De Energia E Limite De Carga Da Bateria - TLP

O que é o TLP?

O TLP é um utilitário de gerenciamento de energia para notebooks que está disponível no Linux, ele aplica automaticamente ajustes de economia de energia no sistema, sem exigir configuração manual detalhada de CPU, disco, USB, PCIe, Wi-Fi, Bluetooth e outros componentes. O grande foco é reduzir o consumo quando o notebook está na bateria e manter um comportamento adequado quando está conectado na tomada.

No entanto, esse utilitário vai além da economia de energia, ele também possui recursos de Battery Care, que são usados para controlar os limites de carga da bateria. Esse recurso permite definir quando a bateria deve começar a carregar e quando deve parar de carregar, desde que o hardware do notebook tenha suporte a esse tipo de controle. A documentação oficial deixa isso bem claro, esses recursos dependem do fabricante, modelo do notebook, versão do kernel Linux e versão do próprio TLP.

O TLP ajuda na vida útil da bateria


As baterias de íons de lítio sofrem mais desgaste quando ficam muito tempo próximas de 100% de carga, por isso, quando limitamos a carga máxima abaixo de 100%, pode ajudar a reduzir desgastes e perda de capacidade ao longo do tempo. No TLP, podemos configurar esse comportamento usando dois limites:

START_CHARGE_THRESH_BAT0=50
STOP_CHARGE_THRESH_BAT0=90

na configuração acima, a bateria só começa a carregar quando estiver abaixo de 50% e para de carregar quando chegar em 90%, ou seja, se o notebook estiver na tomada com 70% de bateria, ele não deve ficar carregando. Meu notebook atual permite configurar valores entre 50 e 95, eu gostaria de manter 20 e 80, mas não é possível no meu equipamento.

A própria documentação do TLP explica que o Battery Care tem como objetivo aumentar a vida útil da bateria reduzindo desgaste e perda de capacidade. Isso é feito limitando o nível máximo de carga e evitando recargas curtas sempre que o carregador é conectado após pequenas descargas.

Apesar disso tudo, o controle de carga não aumenta a autonomia em si, na verdade, ao limitar a carga em 90%, a bateria passa a ter menos carga disponível do que teria em 100%. O verdadeiro ganho é a preservação da bateria ao longo do tempo.

Instalando o TLP


Em distribuições baseadas em Ubuntu/Debian, a instalação pode ser feita via apt.

sudo apt update && sudo apt install -y tlp tlp-rdw

Após a instalação, o serviço pode ser ativado com:

sudo systemctl enable --now tlp

Para verificar se o TLP está ativo:

$ sudo tlp-stat -s
--- TLP 1.8.0 --------------------------------------------

+++ System Info
System         = yyyyyyyyyyyyyyyyyyyyyyyyyyy
BIOS           = 1.50.1
OS Release     = Ubuntu 26.04 LTS
Kernel         = 7.0.0-27-generic #27-Ubuntu SMP PREEMPT_DYNAMIC Thu Jun 18 19:13:49 UTC 2026 x86_64
/proc/cmdline  = BOOT_IMAGE=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Init system    = systemd 
Boot mode      = UEFI
Suspend mode   = [s2idle]

+++ TLP Status
State          = enabled
RDW state      = enabled
Last run       = 20:50:26, 3 sec(s) ago
Mode           = battery
Power source   = battery

Para verificar informações da bateria e suporte aos limites de carga:

sudo tlp-stat -b

Esse comando também ajuda a confirmar o nome da bateria, que normalmente é BAT0, mas pode ser BAT1 em alguns notebooks ou em modelos com mais de uma bateria.

Configuração temporária dos limites de carga


Para aplicar os limites apenas de forma temporária, podemos usar o comando tlp setcharge. No meu caso, mantendo 50% para começar a carregar e 90% para parar de carregar:

# Aplicando os limites na bateria 'BAT0':
sudo tlp setcharge 50 90 BAT0

A configuração temporária funciona até o próximo boot ou até o comando ser executado novamente sem os valores de limite. Para conferir se os valores foram aplicados:

$ sudo tlp-stat -b
--- TLP 1.8.0 --------------------------------------------

+++ Battery Care
Plugin: dell
Supported features: charge thresholds
Driver usage:
* natacpi (dell_laptop) = active (charge thresholds)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1:  50..95(default)
* STOP_CHARGE_THRESH_BAT0/1:   55..100(default)

+++ Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = BYD
/sys/class/power_supply/BAT0/model_name                     = xxxxxxxxxxxx
/sys/class/power_supply/BAT0/cycle_count                    =      0 (or not supported)
/sys/class/power_supply/BAT0/charge_full_design             =   4068 [mAh]
/sys/class/power_supply/BAT0/charge_full                    =   1398 [mAh]
/sys/class/power_supply/BAT0/charge_now                     =   1223 [mAh]
/sys/class/power_supply/BAT0/current_now                    =    447 [mA]
/sys/class/power_supply/BAT0/status                         = Discharging

/sys/class/power_supply/BAT0/charge_control_start_threshold =     50 [%]
/sys/class/power_supply/BAT0/charge_control_end_threshold   =     90 [%]
/sys/class/power_supply/BAT0/charge_types                   = Trickle Fast Standard Adaptive [Custom]

Charge                                                      =   87.5 [%]
Capacity                                                    =   34.4 [%]

Se aparecer algo indicando que os limites de carga não estão disponíveis, provavelmente o notebook, o firmware, o kernel ou o driver usado pelo modelo não oferece suporte ao controle por TLP.

Configuração permanente dos limites de carga


Para manter a configuração de forma permanente, é necessário editar o arquivo de configuração do TLP.

Abra o arquivo principal:

sudo vim /etc/tlp.conf

Procure pelas opções relacionadas à bateria BAT0 e configure assim:

START_CHARGE_THRESH_BAT0=50
STOP_CHARGE_THRESH_BAT0=90

Caso as linhas existam com # no começo, é necessário remover o #, porque linhas comentadas não são aplicadas. Depois de salvar o arquivo, aplique a configuração:

$ sudo tlp start
TLP started in battery mode (auto).

Também é possível criar um arquivo separado em /etc/tlp.d/, por exemplo:

sudo vim /etc/tlp.d/01-bateria.conf

Com o seguinte conteúdo:

START_CHARGE_THRESH_BAT0=50
STOP_CHARGE_THRESH_BAT0=90

Essa forma deixa a configuração mais organizada. Depois:

sudo tlp start
sudo tlp-stat -b

Carregar até 100% quando necessário


Em alguns momentos pode ser necessário carregar a bateria até 100%, por exemplo antes de uma viagem ou de um período longo longe da tomada, para conseguir fazer isso, temos que avisar o tlp:

sudo tlp fullcharge BAT0

Esse comando aplica temporariamente os ajustes necessários para carregar a bateria até a capacidade total. Depois, para restaurar os limites configurados:

sudo tlp setcharge

Também funciona se reiniciarmos o notebook.

Possíveis limitações


Nem todo notebook permite controlar limite inicial e limite final de carga pelo Linux, em alguns modelos, apenas o limite máximo é suportado. As vezes, o controle pode estar disponível apenas via BIOS, UEFI ou aplicativo do fabricante. Quando o hardware suportar apenas um dos limites, devemos usar o valor 0 como valor fictício para ignorar o outro limite.

Exemplo para hardware que suporta apenas limite de parada:

START_CHARGE_THRESH_BAT0=0
STOP_CHARGE_THRESH_BAT0=90

Alternativas ao TLP


Vamos ver algumas alternativas ao TLP.

BIOS ou UEFI do notebook


Muitos notebooks possuem controle de bateria diretamente na BIOS/UEFI ou no aplicativo oficial do fabricante. Em alguns casos, é possível configurar algo como “Primarily AC Use”, “Custom Charge”, “Conservation Mode”, “Battery Health”, “Charge Limit” ou opções parecidas.

Essa costuma ser a melhor opção quando existe suporte nativo, porque o controle é feito diretamente pelo firmware do equipamento, sem depender do sistema operacional. No entanto, o TLP continua sendo útil, já que ele centraliza ajustes de energia no Linux e permite configurar limites de carga em vários modelos compatíveis, além de aplicar outras otimizações quando o notebook está na bateria.

power-profiles-daemon


O power-profiles-daemon é uma alternativa mais simples, usada por ambientes gráficos como GNOME e KDE para alternar entre perfis como economia de energia, balanceado e desempenho. Ele é mais simples que o TLP e costuma ter menos opções avançadas.

system76-power


No Pop!_OS e em máquinas da System76, existe o system76-power, que gerencia perfis de energia e, em alguns equipamentos, também perfis gráficos. Em sistemas Pop!_OS, é bom avaliar com cuidado antes de misturar system76-power e TLP, porque os dois atuam em gerenciamento de energia. O ideal é sempre manter apenas uma solução principal para evitar comportamento inesperado.

auto-cpufreq


O auto-cpufreq é outra alternativa voltada principalmente para ajuste automático de CPU e consumo. Ele monitora estado da bateria, uso de CPU, temperatura e carga do sistema para ajustar o comportamento do processador. Ele pode ajudar na autonomia, mas não substitui completamente o TLP quando o objetivo principal é configurar limites de carga da bateria.

powertop


O powertop é uma ferramenta de análise e ajuste de consumo, ele é útil para identificar o que está consumindo energia e sugerir otimizações, porém, ele é mais voltado para diagnóstico e ajustes pontuais, enquanto o TLP é mais adequado para aplicar políticas permanentes de energia no dia a dia.