TLP:一個可以延長 Linux 筆記本電池壽命的高階電源管理工具
筆記本電池是針對 Windows 作業系統進行了高度優化的,當我在膝上型電腦中使用 Windows 作業系統時,我已經意識到這一點,但對於 Linux 來說卻不一樣。
多年來,Linux 在電池優化方面取得了很大進步,但我們仍然需要做一些必要的事情來改善 Linux 中膝上型電腦的電池壽命。
當我考慮延長電池壽命時,我沒有多少選擇,但我覺得 TLP 對我來說是一個更好的解決方案,所以我會繼續使用它。
在本教程中,我們將詳細討論 TLP 以延長電池壽命。
我們之前在我們的網站上寫過三篇關於 Linux 筆記本電池節電工具 的文章:PowerTOP 和 電池充電狀態。
TLP
TLP 是一款自由開源的高階電源管理工具,可在不進行任何配置更改的情況下延長電池壽命。
由於它的預設配置已針對電池壽命進行了優化,因此你可能只需要安裝,然後就忘記它吧。
此外,它可以高度定製化,以滿足你的特定要求。TLP 是一個具有自動後臺任務的純命令列工具。它不包含GUI。
TLP 適用於各種品牌的膝上型電腦。設定電池充電閾值僅適用於 IBM/Lenovo ThinkPad。
所有 TLP 設定都儲存在 /etc/default/tlp
中。其預設配置提供了開箱即用的優化的節能設定。
以下 TLP 設定可用於自定義,如果需要,你可以相應地進行必要的更改。
TLP 功能
- 核心膝上型電腦模式和髒緩衝區超時
- 處理器頻率調整,包括 “turbo boost”/“turbo core”
- 限制最大/最小的 P 狀態以控制 CPU 的功耗
- HWP 能源效能提示
- 用於多核/超執行緒的功率感知程式排程程式
- 處理器效能與節能策略(
x86_energy_perf_policy
) - 硬碟高階電源管理級別(APM)和降速超時(按磁碟)
- AHCI 鏈路電源管理(ALPM)與裝置黑名單
- PCIe 活動狀態電源管理(PCIe ASPM)
- PCI(e) 匯流排裝置的執行時電源管理
- Radeon 圖形電源管理(KMS 和 DPM)
- Wifi 省電模式
- 關閉驅動器托架中的光碟驅動器
- 音訊省電模式
- I/O 排程程式(按磁碟)
- USB 自動暫停,支援裝置黑名單/白名單(輸入裝置自動排除)
- 在系統啟動和關閉時啟用或禁用整合的 wifi、藍芽或 wwan 裝置
- 在系統啟動時恢復無線電裝置狀態(從之前的關機時的狀態)
- 無線電裝置嚮導:在網路連線/斷開和停靠/取消停靠時切換無線電
- 禁用 LAN 喚醒
- 掛起/休眠後恢復整合的 WWAN 和藍芽狀態
- 英特爾處理器的動態電源降低 —— 需要核心和 PHC-Patch 支援
- 電池充電閾值 —— 僅限 ThinkPad
- 重新校準電池 —— 僅限 ThinkPad
如何在 Linux 上安裝 TLP
TLP 包在大多數發行版官方儲存庫中都可用,因此,使用發行版的 包管理器 來安裝它。
對於 Fedora 系統,使用 DNF 命令 安裝 TLP。
$ sudo dnf install tlp tlp-rdw
ThinkPad 需要一些附加軟體包。
$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
$ sudo dnf install http://repo.linrunner.de/fedora/tlp/repos/releases/tlp-release.fc$(rpm -E %fedora).noarch.rpm
$ sudo dnf install akmod-tp_smapi akmod-acpi_call kernel-devel
安裝 smartmontool 以顯示 tlp-stat 中 S.M.A.R.T. 資料。
$ sudo dnf install smartmontools
對於 Debian/Ubuntu 系統,使用 APT-GET 命令 或 APT 命令 安裝 TLP。
$ sudo apt install tlp tlp-rdw
ThinkPad 需要一些附加軟體包。
$ sudo apt-get install tp-smapi-dkms acpi-call-dkms
安裝 smartmontool 以顯示 tlp-stat 中 S.M.A.R.T. 資料。
$ sudo apt-get install smartmontools
當基於 Ubuntu 的系統的官方軟體包過時時,請使用以下 PPA 儲存庫,該儲存庫提供最新版本。執行以下命令以使用 PPA 安裝 TLP。
$ sudo add-apt-repository ppa:linrunner/tlp
$ sudo apt-get update
$ sudo apt-get install tlp
對於基於 Arch Linux 的系統,使用 Pacman 命令 安裝 TLP。
$ sudo pacman -S tlp tlp-rdw
ThinkPad 需要一些附加軟體包。
$ pacman -S tp_smapi acpi_call
安裝 smartmontool 以顯示 tlp-stat 中 S.M.A.R.T. 資料。
$ sudo pacman -S smartmontools
對於基於 Arch Linux 的系統,在啟動時啟用 TLP 和 TLP-Sleep 服務。
$ sudo systemctl enable tlp.service
$ sudo systemctl enable tlp-sleep.service
對於基於 Arch Linux 的系統,你還應該遮蔽以下服務以避免衝突,並確保 TLP 的無線電裝置切換選項的正確操作。
$ sudo systemctl mask systemd-rfkill.service
$ sudo systemctl mask systemd-rfkill.socket
對於 RHEL/CentOS 系統,使用 YUM 命令 安裝 TLP。
$ sudo yum install tlp tlp-rdw
安裝 smartmontool 以顯示 tlp-stat 中 S.M.A.R.T. 資料。
$ sudo yum install smartmontools
對於 openSUSE Leap 系統,使用 Zypper 命令 安裝 TLP。
$ sudo zypper install TLP
安裝 smartmontool 以顯示 tlp-stat 中 S.M.A.R.T. 資料。
$ sudo zypper install smartmontools
成功安裝 TLP 後,使用以下命令啟動服務。
$ systemctl start tlp.service
使用方法
顯示電池資訊
$ sudo tlp-stat -b
或
$ sudo tlp-stat --battery
--- TLP 1.1 --------------------------------------------
+++ Battery Status
/sys/class/power_supply/BAT0/manufacturer = SMP
/sys/class/power_supply/BAT0/model_name = L14M4P23
/sys/class/power_supply/BAT0/cycle_count = (not supported)
/sys/class/power_supply/BAT0/energy_full_design = 60000 [mWh]
/sys/class/power_supply/BAT0/energy_full = 48850 [mWh]
/sys/class/power_supply/BAT0/energy_now = 48850 [mWh]
/sys/class/power_supply/BAT0/power_now = 0 [mW]
/sys/class/power_supply/BAT0/status = Full
Charge = 100.0 [%]
Capacity = 81.4 [%]
顯示磁碟資訊
$ sudo tlp-stat -d
或
$ sudo tlp-stat --disk
--- TLP 1.1 --------------------------------------------
+++ Storage Devices
/dev/sda:
Model = WDC WD10SPCX-24HWST1
Firmware = 02.01A02
APM Level = 128
Status = active/idle
Scheduler = mq-deadline
Runtime PM: control = on, autosuspend_delay = (not available)
SMART info:
4 Start_Stop_Count = 18787
5 Reallocated_Sector_Ct = 0
9 Power_On_Hours = 606 [h]
12 Power_Cycle_Count = 1792
193 Load_Cycle_Count = 25775
194 Temperature_Celsius = 31 [°C]
+++ AHCI Link Power Management (ALPM)
/sys/class/scsi_host/host0/link_power_management_policy = med_power_with_dipm
/sys/class/scsi_host/host1/link_power_management_policy = med_power_with_dipm
/sys/class/scsi_host/host2/link_power_management_policy = med_power_with_dipm
/sys/class/scsi_host/host3/link_power_management_policy = med_power_with_dipm
+++ AHCI Host Controller Runtime Power Management
/sys/bus/pci/devices/0000:00:17.0/ata1/power/control = on
/sys/bus/pci/devices/0000:00:17.0/ata2/power/control = on
/sys/bus/pci/devices/0000:00:17.0/ata3/power/control = on
/sys/bus/pci/devices/0000:00:17.0/ata4/power/control = on
顯示 PCI 裝置資訊
$ sudo tlp-stat -e
或
$ sudo tlp-stat --pcie
$ sudo tlp-stat -e
or
$ sudo tlp-stat --pcie
--- TLP 1.1 --------------------------------------------
+++ Runtime Power Management
Device blacklist = (not configured)
Driver blacklist = amdgpu nouveau nvidia radeon pcieport
/sys/bus/pci/devices/0000:00:00.0/power/control = auto (0x060000, Host bridge, skl_uncore)
/sys/bus/pci/devices/0000:00:01.0/power/control = auto (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:02.0/power/control = auto (0x030000, VGA compatible controller, i915)
/sys/bus/pci/devices/0000:00:14.0/power/control = auto (0x0c0330, USB controller, xhci_hcd)
......
顯示圖形卡資訊
$ sudo tlp-stat -g
或
$ sudo tlp-stat --graphics
--- TLP 1.1 --------------------------------------------
+++ Intel Graphics
/sys/module/i915/parameters/enable_dc = -1 (use per-chip default)
/sys/module/i915/parameters/enable_fbc = 1 (enabled)
/sys/module/i915/parameters/enable_psr = 0 (disabled)
/sys/module/i915/parameters/modeset = -1 (use per-chip default)
顯示處理器資訊
$ sudo tlp-stat -p
或
$ sudo tlp-stat --processor
--- TLP 1.1 --------------------------------------------
+++ Processor
CPU model = Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver = intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq = 800000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq = 3500000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference = balance_power
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power
......
/sys/devices/system/cpu/intel_pstate/min_perf_pct = 22 [%]
/sys/devices/system/cpu/intel_pstate/max_perf_pct = 100 [%]
/sys/devices/system/cpu/intel_pstate/no_turbo = 0
/sys/devices/system/cpu/intel_pstate/turbo_pct = 33 [%]
/sys/devices/system/cpu/intel_pstate/num_pstates = 28
x86_energy_perf_policy: program not installed.
/sys/module/workqueue/parameters/power_efficient = Y
/proc/sys/kernel/nmi_watchdog = 0
+++ Undervolting
PHC kernel not available.
顯示系統資料資訊
$ sudo tlp-stat -s
或
$ sudo tlp-stat --system
--- TLP 1.1 --------------------------------------------
+++ System Info
System = LENOVO Lenovo ideapad Y700-15ISK 80NV
BIOS = CDCN35WW
Release = "Manjaro Linux"
Kernel = 4.19.6-1-MANJARO #1 SMP PREEMPT Sat Dec 1 12:21:26 UTC 2018 x86_64
/proc/cmdline = BOOT_IMAGE=/boot/vmlinuz-4.19-x86_64 root=UUID=69d9dd18-36be-4631-9ebb-78f05fe3217f rw quiet resume=UUID=a2092b92-af29-4760-8e68-7a201922573b
Init system = systemd
Boot mode = BIOS (CSM, Legacy)
+++ TLP Status
State = enabled
Last run = 11:04:00 IST, 596 sec(s) ago
Mode = battery
Power source = battery
顯示溫度和風扇速度資訊
$ sudo tlp-stat -t
或
$ sudo tlp-stat --temp
--- TLP 1.1 --------------------------------------------
+++ Temperatures
CPU temp = 36 [°C]
Fan speed = (not available)
顯示 USB 裝置資料資訊
$ sudo tlp-stat -u
或
$ sudo tlp-stat --usb
--- TLP 1.1 --------------------------------------------
+++ USB
Autosuspend = disabled
Device whitelist = (not configured)
Device blacklist = (not configured)
Bluetooth blacklist = disabled
Phone blacklist = disabled
WWAN blacklist = enabled
Bus 002 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 3.0 root hub (hub)
Bus 001 Device 003 ID 174f:14e8 control = auto, autosuspend_delay_ms = 2000 -- Syntek (uvcvideo)
......
顯示警告資訊
$ sudo tlp-stat -w
或
$ sudo tlp-stat --warn
--- TLP 1.1 --------------------------------------------
No warnings detected.
狀態報告及配置和所有活動的設定
$ sudo tlp-stat
--- TLP 1.1 --------------------------------------------
+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
TLP_DEFAULT_MODE=AC
TLP_PERSISTENT_DEFAULT=0
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
......
+++ System Info
System = LENOVO Lenovo ideapad Y700-15ISK 80NV
BIOS = CDCN35WW
Release = "Manjaro Linux"
Kernel = 4.19.6-1-MANJARO #1 SMP PREEMPT Sat Dec 1 12:21:26 UTC 2018 x86_64
/proc/cmdline = BOOT_IMAGE=/boot/vmlinuz-4.19-x86_64 root=UUID=69d9dd18-36be-4631-9ebb-78f05fe3217f rw quiet resume=UUID=a2092b92-af29-4760-8e68-7a201922573b
Init system = systemd
Boot mode = BIOS (CSM, Legacy)
+++ TLP Status
State = enabled
Last run = 11:04:00 IST, 684 sec(s) ago
Mode = battery
Power source = battery
+++ Processor
CPU model = Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver = intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors = performance powersave
......
/sys/devices/system/cpu/intel_pstate/min_perf_pct = 22 [%]
/sys/devices/system/cpu/intel_pstate/max_perf_pct = 100 [%]
/sys/devices/system/cpu/intel_pstate/no_turbo = 0
/sys/devices/system/cpu/intel_pstate/turbo_pct = 33 [%]
/sys/devices/system/cpu/intel_pstate/num_pstates = 28
x86_energy_perf_policy: program not installed.
/sys/module/workqueue/parameters/power_efficient = Y
/proc/sys/kernel/nmi_watchdog = 0
+++ Undervolting
PHC kernel not available.
+++ Temperatures
CPU temp = 42 [°C]
Fan speed = (not available)
+++ File System
/proc/sys/vm/laptop_mode = 2
/proc/sys/vm/dirty_writeback_centisecs = 6000
/proc/sys/vm/dirty_expire_centisecs = 6000
/proc/sys/vm/dirty_ratio = 20
/proc/sys/vm/dirty_background_ratio = 10
+++ Storage Devices
/dev/sda:
Model = WDC WD10SPCX-24HWST1
Firmware = 02.01A02
APM Level = 128
Status = active/idle
Scheduler = mq-deadline
Runtime PM: control = on, autosuspend_delay = (not available)
SMART info:
4 Start_Stop_Count = 18787
5 Reallocated_Sector_Ct = 0
9 Power_On_Hours = 606 [h]
12 Power_Cycle_Count = 1792
193 Load_Cycle_Count = 25777
194 Temperature_Celsius = 31 [°C]
+++ AHCI Link Power Management (ALPM)
/sys/class/scsi_host/host0/link_power_management_policy = med_power_with_dipm
/sys/class/scsi_host/host1/link_power_management_policy = med_power_with_dipm
/sys/class/scsi_host/host2/link_power_management_policy = med_power_with_dipm
/sys/class/scsi_host/host3/link_power_management_policy = med_power_with_dipm
+++ AHCI Host Controller Runtime Power Management
/sys/bus/pci/devices/0000:00:17.0/ata1/power/control = on
/sys/bus/pci/devices/0000:00:17.0/ata2/power/control = on
/sys/bus/pci/devices/0000:00:17.0/ata3/power/control = on
/sys/bus/pci/devices/0000:00:17.0/ata4/power/control = on
+++ PCIe Active State Power Management
/sys/module/pcie_aspm/parameters/policy = powersave
+++ Intel Graphics
/sys/module/i915/parameters/enable_dc = -1 (use per-chip default)
/sys/module/i915/parameters/enable_fbc = 1 (enabled)
/sys/module/i915/parameters/enable_psr = 0 (disabled)
/sys/module/i915/parameters/modeset = -1 (use per-chip default)
+++ Wireless
bluetooth = on
wifi = on
wwan = none (no device)
hci0(btusb) : bluetooth, not connected
wlp8s0(iwlwifi) : wifi, connected, power management = on
+++ Audio
/sys/module/snd_hda_intel/parameters/power_save = 1
/sys/module/snd_hda_intel/parameters/power_save_controller = Y
+++ Runtime Power Management
Device blacklist = (not configured)
Driver blacklist = amdgpu nouveau nvidia radeon pcieport
/sys/bus/pci/devices/0000:00:00.0/power/control = auto (0x060000, Host bridge, skl_uncore)
/sys/bus/pci/devices/0000:00:01.0/power/control = auto (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:02.0/power/control = auto (0x030000, VGA compatible controller, i915)
......
+++ USB
Autosuspend = disabled
Device whitelist = (not configured)
Device blacklist = (not configured)
Bluetooth blacklist = disabled
Phone blacklist = disabled
WWAN blacklist = enabled
Bus 002 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 3.0 root hub (hub)
Bus 001 Device 003 ID 174f:14e8 control = auto, autosuspend_delay_ms = 2000 -- Syntek (uvcvideo)
Bus 001 Device 002 ID 17ef:6053 control = on, autosuspend_delay_ms = 2000 -- Lenovo (usbhid)
Bus 001 Device 004 ID 8087:0a2b control = auto, autosuspend_delay_ms = 2000 -- Intel Corp. (btusb)
Bus 001 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 2.0 root hub (hub)
+++ Battery Status
/sys/class/power_supply/BAT0/manufacturer = SMP
/sys/class/power_supply/BAT0/model_name = L14M4P23
/sys/class/power_supply/BAT0/cycle_count = (not supported)
/sys/class/power_supply/BAT0/energy_full_design = 60000 [mWh]
/sys/class/power_supply/BAT0/energy_full = 51690 [mWh]
/sys/class/power_supply/BAT0/energy_now = 50140 [mWh]
/sys/class/power_supply/BAT0/power_now = 12185 [mW]
/sys/class/power_supply/BAT0/status = Discharging
Charge = 97.0 [%]
Capacity = 86.2 [%]
via: https://www.2daygeek.com/tlp-increase-optimize-linux-laptop-battery-life/
作者:Magesh Maruthamuthu 選題:lujun9972 譯者:wxy 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 十個延長iPhone電池壽命的祕訣iPhone
- 延長手機電池壽命――如何用3個App提高電池的續航時間APP
- AlDente Pro for Mac – 保護您的Mac電池,延長使用壽命Mac
- AlDente Pro如何延長mac電池壽命?AlDente Pro mac智慧充電管理Mac
- 普渡大學軟體延長16%的Android電池壽命 程式碼已開源Android
- 延長不間斷供電系統壽命的方法
- 如何讓筆記本使用壽命更長筆記
- 提高 MacBook 電池壽命的 9 種方法Mac
- 筆記本顯示卡可以挖礦嗎 筆記本挖礦顯示卡壽命一般多久筆記
- 如何檢查AirPods電池壽命?AI
- 筆記本使用外接電源的時候要不要拔下電池筆記
- Linux筆記本電源管理指南(轉)Linux筆記
- Vector Watch智慧手錶:最佳電池壽命的智慧手錶
- 在 Linux 下使用 fstrim 延長 SSD 驅動器的壽命Linux
- 筆記本電源起死回生記筆記
- 手機正確的充電方法,保你的智慧手機壽命延長三年
- 【Windows】筆記本電池用到40%左右的時候突然斷電。Windows筆記
- 華碩筆記本電池0%充不進電怎麼辦 華碩筆記本充不進電一直顯示0%筆記
- Google致力於解決macOS裝置上電池壽命問題GoMac
- IBM筆記本電池保養細則IBM筆記
- CleanMyMac最佳化教程,使用CleanMyMac延長Mac的使用壽命Mac
- uSwitch:電池壽命對智慧手機購買決定有最大影響
- 聯想筆記本電池0%充不進電怎麼辦 聯想電腦電池顯示0充不進電筆記
- 筆記本一直插著電源好嗎 筆記本一直充電不拔會有影響嗎筆記
- 膝上型電腦充電器一直插著可以嗎 筆記本一直插著電源好嗎筆記
- NMN恢復小鼠阿爾茨海默病記憶、延緩病情並延長健康壽命
- Linux作業系統的高階電源管理(轉)Linux作業系統
- win10筆記本電池顯示電源已接通未充電怎麼辦_win10顯示電源已接通,未充電如何解決Win10筆記
- HP筆記本電源燈亮不能開機 - 靜電問題筆記
- 筆記本win10系統下電池不能充電怎麼解決筆記Win10
- 美國蘋果稱Macbook筆記本電池可能有缺陷蘋果Mac筆記
- HP probook 系列筆記本Only電池效能下降的問題說明筆記
- 蘋果企業賬號回收平臺:iPhone壽命怎麼才能延長蘋果iPhone
- 如果工作能保持健康延長壽命 那你還會選擇退休麼?
- 筆記本電源鍵亮但黑屏 膝上型電腦黑屏的恢復教程筆記
- 索尼公佈電池召回計劃 不侷限於筆記本筆記
- 聯想召回20萬隻電池 涉及3系列Thinkpad筆記本ThinkPad筆記
- 筆記本黑屏但是還運作,電源鍵亮著筆記