Com o pacote TLP, verifique a integridade da sua bateria, configure o consumo energético e até mesmo calibre-a, aumentando sua durabilidade!
| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. Mais detalhes clicando aqui.
1. Introdução
O kernel Linux sozinho já possui um interessante Governador de CPU, que ajuda a distribuir o processamento no sistema e otimiza o uso dos recursos, principalmente energéticos. Claro que quem utiliza um kernel mais atualizado, como o 5.1, estará com o Governador mais recente. Mas sempre tem como otimizar as coisas um pouco mais!
2. TLP
O pacote TLP foi criado originalmente para dar suporte a notebooks Thinkpad da Lenovo. Porém ele também funciona, mesmo que mais limitado, em notebooks comuns de qualquer marca e/ou modelo.
Uma vez instalado, o TLP gera um daemon que executará a cada inicio do sistema, aplicando uma gerência energética ao hardware conforme o uso e necessidade, complementando o trabalho do governador de CPU.
Por exemplo, o TLP vai gerenciar tempo que o disco demora pra hibernar na bateria, uso do bluetooth, wifi, quais os niveis de recarga da bateria, recursos que só funcionarão na bateria e/ou somente na tomada, adicionar portas USB á blacklist, poupando energia que seria gasta com impressoras e scanners, etc.
2.1 Instalando
Pra instalar o tlp em seu notebook, execute conforme seu sistema:
Para Debian, Ubuntu e derivados:
$ sudo apt install tlp
Para Fedora e derivados:
$ sudo yum install tlp
Para ArchLinux e derivados:
$ sudo pacman -S tlp tp_smapi acpi_call
2.2 Configurando
Uma vez instalado e reiniciado o computador, o TLP estará em vigor com configurações padrão/genéricas. Elas ficam armazenadas em /etc/default/tlp e são vários, destaco os seguintes:
# Ativa ou desativa o TLP.
TLP_ENABLE=1
# Modo de operação com a fonte de energia detectada: AC, BAT.
# Afeta mais sistemas embarcados e alguns desktops
TLP_DEFAULT_MODE=AC
# Segundos que o notebook vai aguardar após o disco ficar em idle para sincronizar os dados.
# Valores Não-Zero habilitam, Zero desabilita.
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
# Valor máximo de tolerância pra sincronia de trabalho em segundos
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
# Define as opções energéticas para o governador P-State dos processadores Intel
# performance, balance_performance, default, balance_power, power
# Sequencia do menos para o mais econômico no aspecto da bateria.
# Note: Intel Skylake or newer CPU and Kernel >= 4.10 required.
CPU_HWP_ON_AC=balance_performance
CPU_HWP_ON_BAT=balance_power
# Define a performance geral do Intel P-state: 0..100 (%).
# Requer um processador da familia Core i com driver intel_pstate. (Remova a # pra habilitar)
#CPU_MIN_PERF_ON_AC=0
#CPU_MAX_PERF_ON_AC=100
#CPU_MIN_PERF_ON_BAT=0
#CPU_MAX_PERF_ON_BAT=30
# Diminui a carga de trabalho dos núcleos virtuais quando o sistema está com pouco uso.
# Isso otimiza o consumo energético em idle.
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
# Controle energético dos discos
DISK_DEVICES=”sda sdb”
# Disk advanced power management level: 1..254, 255 (max saving, min, off).
# Levels 1..127 may spin down the disk; 255 allowable on most drives.
# Separate values for multiple disks with spaces. Use the special value ‘keep’
# to keep the hardware default for the particular disk.
DISK_APM_LEVEL_ON_AC=”254 254″
DISK_APM_LEVEL_ON_BAT=”128 128″
# AHCI link power management (ALPM) for disk devices:
# min_power, med_power_with_dipm(*), medium_power, max_performance.
# (*) Kernel >= 4.15 required, then recommended.
# Multiple values separated with spaces are tried sequentially until success.
SATA_LINKPWR_ON_AC=”med_power_with_dipm max_performance”
SATA_LINKPWR_ON_BAT=”med_power_with_dipm min_power”
# Seconds of inactivity before disk is suspended.
AHCI_RUNTIME_PM_TIMEOUT=15
# PCI Express Active State Power Management (PCIe ASPM):
# default, performance, powersave.
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
# Radeon graphics clock speed (profile method): low, mid, high, auto, default;
# auto = mid on BAT, high on AC; default = use hardware defaults.
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
# Radeon dynamic power management method (DPM): battery, performance.
RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=battery
# Radeon DPM performance level: auto, low, high; auto is recommended.
RADEON_DPM_PERF_LEVEL_ON_AC=auto
RADEON_DPM_PERF_LEVEL_ON_BAT=auto
# WiFi power saving mode: on=enable, off=disable; not supported by all adapters.
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on
# Disable wake on LAN: Y/N.
WOL_DISABLE=Y
# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
# A value of 0 disables, >=1 enables power saving (recommended: 1).
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=1
# Disable controller too (HDA only): Y/N.
SOUND_POWER_SAVE_CONTROLLER=Y
# Power off optical drive in UltraBay/MediaBay: 0=disable, 1=enable.
# Drive can be powered on again by releasing (and reinserting) the eject lever
# or by pressing the disc eject button on newer models.
# Note: an UltraBay/MediaBay hard disk is never powered off.
BAY_POWEROFF_ON_AC=0
BAY_POWEROFF_ON_BAT=0
# Optical drive device to power off (default sr0).
BAY_DEVICE=”sr0″
# Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable.
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
# Set to 0 to disable, 1 to enable USB autosuspend feature.
USB_AUTOSUSPEND=1
# Bluetooth devices are excluded from USB autosuspend:
# 0=do not exclude, 1=exclude.
USB_BLACKLIST_BTUSB=0
# Phone devices are excluded from USB autosuspend:
# 0=do not exclude, 1=exclude (enable charging).
USB_BLACKLIST_PHONE=0
# Printers are excluded from USB autosuspend:
# 0=do not exclude, 1=exclude.
USB_BLACKLIST_PRINTER=1
# WWAN devices are excluded from USB autosuspend:
# 0=do not exclude, 1=exclude.
USB_BLACKLIST_WWAN=1
# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
# on system startup: 0=disable, 1=enable.
# Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
# are ignored when this is enabled!
RESTORE_DEVICE_STATE_ON_STARTUP=0
Suporte completo está aqui.
Se estiver com dúvidas de como ou qual configurar, deixe por padrão.
É suficiente para 99.9% dos notebooks e sistemas embarcados.
2.3 Comandos
O TLP também traz alguns comandos interessantes. O principal é o tlp-stat:
$ sudo tlp-stat
Executado assim, ele vai exibir um extenso log de todo o consumo energético do seu notebook. Para filtrar parâmetros:
- -b = Informações da Bateria
- -d = Informações dos Discos
- -e =Informações pcie
- -g = Informações da Placa de Video
- -p = Informações do Processador
- -t = Informações de Temperatura e Cooler
- -u = Informações de USB
- -w = Informações de Alertas
Exemplo:
Para consultar dados da sua bateria:
$ sudo tlp-stat -b
O resultado será semelhante a esse:
— TLP 1.1 ——————————————–
+++ Battery Status
/sys/class/power_supply/BAT1/manufacturer = SAMSUNG Electronics
/sys/class/power_supply/BAT1/model_name = SR Real Battery
/sys/class/power_supply/BAT1/cycle_count = 20
/sys/class/power_supply/BAT1/charge_full_design = 3780 [mAh]
/sys/class/power_supply/BAT1/charge_full = 3800 [mAh]
/sys/class/power_supply/BAT1/charge_now = 3800 [mAh]
/sys/class/power_supply/BAT1/current_now = 0 [mA]
/sys/class/power_supply/BAT1/status = FullCharge = 100.0 [%]
Capacity = 100.5 [%]
Para consultar informações dos discos rígidos/SSD, instale o pacote smartmontools.
3. Recursos Avançados
O pacote TLP também traz alguns recursos avançados porém eles são exclusivos dos notebooks Thinkpad da Lenovo, por possuírem chips especiais nas baterias que permitem serem calibradas facilmente.
Caso você seja possuidor de um Thinkpad, os comandos são:
$ sudo tlp *
Onde o * pode ser:
- ac
- bat
- bayoff
- chargeonce
- discharge
- diskid
- fullcharge
- recalibrate
- setcharge
- start
- stat
- usb
Os mais interessantes são:
- bayoff = Ejeta o notebook da dock somente virtualmente
- discharge = descarrega 1 das 2 baterias, mesmo estando na tomada; somente 1 por vez.
- recalibrate = recalibra a bateria, fazendo uma descarga completa seguida de uma recarga completa; somente 1 por vez.
Lembrando que, nos notebooks com 2 baterias, a BAT0 é sempre a interna e a BAT1 é sempre a externa/removível.
Para recalibrar sua bateria, melhorando o tempo de vida útil dela:
$ sudo tlp recalibrate BAT1
Aguarde a conclusão do processo. Para agilizar, execute algum trabalho pesado no notebook ou uma renderização, assim ela vai esgotar mais rapidamente. O notebook deve estar na tomada para realizar essa operação.
Fizemos recentemente uma review sobre o Lenovo Thinkpad! Caso tenha perdido, clique aqui.
4. Conclusão
Entender os fundamentos do TLP ajudará a ter um melhor desempenho e gerenciamento energético do seu notebook executando sob Linux. O conjunto da obra é importante, então se possível use um kernel mais recente como o 4.14 LTS ou superior. Kerneis antigos possuem governadores de CPU menos otimizados o que pode não dar total desempenho aliado ao TLP presente no sistema.
#UrbanCompassPony
Fonte:
wiki.archlinux.org
Autodidata, me aprofundei em sistemas operacionais baseados em UNIX®, principalmente Linux. Também procuro trazer assuntos correlacionados direta ou indiretamente, como automação, robótica e embarcados.