[Share Experiences] 续航不好?想通过软件进行优化?来看看《TLP配置参数应用》吧
Tofloor
poster avatar
owen_337
deepin testing team
2023-11-18 01:05
Author

一、TLP介绍

TLP是一款功能丰富的Linux纯命令行实用程序,可节省笔记本电脑电池电量,而无需深入研究技术细节,简而言之,就是用来做续航优化的工具,官方介绍,TLP可根据需求进行高度定制。

二、运作方式

 TLP通过配置能够调整影响功耗的内核设置消耗,那什么是内核设置呢?内核在启动时,会创建一个默认的状态,并在每次启动时,由用户空间工具进行启动,而TLP就是这样的一个用户空间工具。TLP处理的大多数内核设置都作为sysfs节点导出到用户空间,也就是/sys/下的文件,而tlp-stat的输出将显示路径,这些输出信息仅用于诊断目的。

三、事件驱动架构

TLP的操作是事件来进行驱动的,也就是说,通过应用活动将导致设置变动,这里举例其中几个场景,如下: 1、充电器插入(交流供电)应用交流设置配置文件。 2、充电器已拔下(电池供电)应用 BAT 设置配置文件。 3、已插入 USB 设备激活设备的 USB 自动挂起模式(如果未排除或列入拒绝列表)。 4、系统启动(启动)应用与当前电源对应的设置配置文件 交流/电池。应用充电阈值并切换蓝牙、Wi-Fi 和 WWAN 设备取决于您的个人设置(默认禁用 配置)。 5、系统关机(断电)保存或切换蓝牙、Wi-Fi 和 WWAN 设备状态并禁用 USB 根据您的个人设置自动挂起(默认禁用 配置)。

四、安装与使用

TLP已经集成在系统仓库中,执行命令sudo apt install tlp 即可安装完成; 使用方面,1,通过sudo tlp start 启动与执行应用热更改,修改配置文件后,不用重启与注销就能使配置生效,2,sudo tlp-stat -s检查启用状态

五、默认配置参数

+++ Configured Settings:
defaults.conf L0006: TLP_ENABLE="1"
defaults.conf L0007: TLP_WARN_LEVEL="3"
defaults.conf L0008: TLP_PERSISTENT_DEFAULT="0"
defaults.conf L0009: DISK_IDLE_SECS_ON_AC="0"
defaults.conf L0010: DISK_IDLE_SECS_ON_BAT="2"
defaults.conf L0011: MAX_LOST_WORK_SECS_ON_AC="15"
defaults.conf L0012: MAX_LOST_WORK_SECS_ON_BAT="60"
defaults.conf L0013: CPU_ENERGY_PERF_POLICY_ON_AC="balance_performance"
defaults.conf L0014: CPU_ENERGY_PERF_POLICY_ON_BAT="balance_power"
defaults.conf L0015: NMI_WATCHDOG="0"
defaults.conf L0016: DISK_DEVICES="nvme0n1 sda"
defaults.conf L0017: DISK_APM_LEVEL_ON_AC="254 254"
defaults.conf L0018: DISK_APM_LEVEL_ON_BAT="128 128"
defaults.conf L0019: DISK_APM_CLASS_DENYLIST="usb ieee1394"
defaults.conf L0020: DISK_IOSCHED="keep keep"
defaults.conf L0021: SATA_LINKPWR_ON_AC="med_power_with_dipm"
defaults.conf L0022: SATA_LINKPWR_ON_BAT="med_power_with_dipm"
defaults.conf L0023: AHCI_RUNTIME_PM_ON_AC="on"
defaults.conf L0024: AHCI_RUNTIME_PM_ON_BAT="auto"
defaults.conf L0025: AHCI_RUNTIME_PM_TIMEOUT="15"
defaults.conf L0026: PCIE_ASPM_ON_AC="default"
defaults.conf L0027: PCIE_ASPM_ON_BAT="default"
defaults.conf L0028: RADEON_DPM_PERF_LEVEL_ON_AC="auto"
defaults.conf L0029: RADEON_DPM_PERF_LEVEL_ON_BAT="auto"
defaults.conf L0030: RADEON_POWER_PROFILE_ON_AC="default"
defaults.conf L0031: RADEON_POWER_PROFILE_ON_BAT="default"
defaults.conf L0032: WIFI_PWR_ON_AC="off"
defaults.conf L0033: WIFI_PWR_ON_BAT="on"
defaults.conf L0034: WOL_DISABLE="Y"
defaults.conf L0035: SOUND_POWER_SAVE_ON_AC="1"
defaults.conf L0036: SOUND_POWER_SAVE_ON_BAT="1"
defaults.conf L0037: SOUND_POWER_SAVE_CONTROLLER="Y"
defaults.conf L0038: BAY_POWEROFF_ON_AC="0"
defaults.conf L0039: BAY_POWEROFF_ON_BAT="0"
defaults.conf L0040: BAY_DEVICE="sr0"
defaults.conf L0041: RUNTIME_PM_ON_AC="on"
defaults.conf L0042: RUNTIME_PM_ON_BAT="auto"
defaults.conf L0043: RUNTIME_PM_DRIVER_DENYLIST="mei_me nouveau radeon"
defaults.conf L0044: USB_AUTOSUSPEND="1"
defaults.conf L0045: USB_EXCLUDE_AUDIO="1"
defaults.conf L0046: USB_EXCLUDE_BTUSB="0"
defaults.conf L0047: USB_EXCLUDE_PHONE="0"
defaults.conf L0048: USB_EXCLUDE_PRINTER="1"
defaults.conf L0049: USB_EXCLUDE_WWAN="0"
defaults.conf L0050: RESTORE_DEVICE_STATE_ON_STARTUP="0"
defaults.conf L0051: RESTORE_THRESHOLDS_ON_BAT="0"
defaults.conf L0052: NATACPI_ENABLE="1"
defaults.conf L0053: TPACPI_ENABLE="1"
defaults.conf L0054: TPSMAPI_ENABLE="1"

六、官方给出的优化参数配置

A.延长电池续航时间:

  1. 将 CPU 能耗/性能策略更改为 power(默认值为 balance_power):
CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance 
CPU_ENERGY_PERF_POLICY_ON_BAT=power
  1. 启用平台配置文件低功耗:
PLATFORM_PROFILE_ON_AC=balanced 
PLATFORM_PROFILE_ON_BAT=low-power
  1. 禁用涡轮增压:
CPU_BOOST_ON_AC=1 CPU_BOOST_ON_BAT=0
CPU_HWP_DYN_BOOST_ON_AC=1 CPU_HWP_DYN_BOOST_ON_BAT=0

B. 提高交流电源的性能

  1. 将 CPU 能耗/性能策略更改为性能(默认值为 balance_performace): PS:注意,此参数配置与上个小章节为同一配置项,需要根据实际需求进行改动
CPU_ENERGY_PERF_POLICY_ON_AC=performance 
CPU_ENERGY_PERF_POLICY_ON_BAT=balance_power
  1. 启用平台配置文件性能: PS:注意,此参数配置与上个小章节为同一配置项,需要根据实际需求进行改动

    PLATFORM_PROFILE_ON_AC=performance 
    PLATFORM_PROFILE_ON_BAT=balanced
    

    C. 降低交流电源的功耗/风扇噪音

  2. 启用运行时电源管理:

RUNTIME_PM_ON_AC=auto 
RUNTIME_PM_ON_BAT=auto
  1. 将 CPU 能耗/性能策略更改为 balance_power(默认值为 balance_performance):
CPU_ENERGY_PERF_POLICY_ON_AC=balance_power
 CPU_ENERGY_PERF_POLICY_ON_BAT=balance_power
  1. 启用 Wi-Fi 省电(默认关闭):
WIFI_PWR_ON_AC=on
 WIFI_PWR_ON_BAT=on

D. 限制高 CPU 负载下的功耗

  1. intel_pstate扩展驱动程序提供了这种可能性。 使用设置 PS:注意只对intel支持intel_pstate的机型生效
CPU_MAX_PERF_ON_AC=nn 
CPU_MAX_PERF_ON_BAT=nn

E. 提高电池电量性能

  1. 如果英特尔酷睿 i 第 12 代拒绝在电池上激活涡轮增压 您可以更改 CPU 能耗/性能策略:

PS:注意只对intel支持intel_pstate的机型生效

CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance
 CPU_ENERGY_PERF_POLICY_ON_BAT=balance_performance

以上操作配置通过在命令行安装TLP后,修改sudo vim /etc/tlp.conf文件,修改完成后,使用 sudo tlp start命令激活配置立即生效

七、结语

还有更多配置优化项大家可以进行尝试,有疑问或者问题欢迎给我们反馈,感谢@longlong提供技术支持

Reply Favorite View the author
All Replies
阿尼樱奈奈
Moderator
2023-11-18 01:10
#1

like

Reply View the author
neko
Moderator
2023-11-18 01:11
#2

好哇

Reply View the author
babyfengfjx
Super Moderator
CQA
2023-11-18 01:17
#3

玩起来agree

Reply View the author
fslong
deepin beta test group
2023-11-18 01:28
#4

我怎么感觉你们这帮研发也越来越卷了,一天天干货好多,学不动了。

Reply View the author
owen_337
deepin testing team
2023-11-18 01:46
#5
fslong

我怎么感觉你们这帮研发也越来越卷了,一天天干货好多,学不动了。

每天多学一点,成长更快一点

Reply View the author
fslong
deepin beta test group
2023-11-18 01:59
#6

有没有考虑一个gui版本的tlp给普通用户用?之前看到过网上有但是好像提桶跑路了。

Reply View the author
owen_337
deepin testing team
2023-11-18 02:04
#7
fslong

有没有考虑一个gui版本的tlp给普通用户用?之前看到过网上有但是好像提桶跑路了。

官方说明了是纯命令行工具哈

你说的GUI这个我下来去问下longlong

Reply View the author
昨夜的星辰
deepin
2023-11-18 07:06
#8

在新硬件上想做到这些最快最简单的办法就是更新内核到6.4以上,实测6.5就挺好了

会应用AMD/INTEL本身的CPU调度,笔记本温度会比以前低不少

Reply View the author
owen_337
deepin testing team
2023-11-20 17:18
#9
昨夜的星辰

在新硬件上想做到这些最快最简单的办法就是更新内核到6.4以上,实测6.5就挺好了

会应用AMD/INTEL本身的CPU调度,笔记本温度会比以前低不少

嗯嗯,但是内核设置具有易失性。TLP优化续航设置,是一个专为提高电池续航而设计的命令行工具,它的优势在于简洁、易用。默认设置已经针对电池寿命进行了优化,安装后即可使用,非常适合对计算机硬件和操作系统不太了解的用户,而且,通过官方提供的优化设置,能做进一步的优化,此外,与内核优化不同,TLP的设置是持久化的,即使计算机断电或重新启动,之前的设置也不会丢失。需要注意的是,TLP的优化更多适用于笔记本电脑。

另外beta3计划内核最终适配升级到6.6正式版哈

Reply View the author
owen_337
deepin testing team
2023-11-20 17:41
#10
fslong

有没有考虑一个gui版本的tlp给普通用户用?之前看到过网上有但是好像提桶跑路了。

问过longlong了,GUI后续有计划会做的哈,一切为了方便用户使用哈

Reply View the author
阿尼樱奈奈
Moderator
2024-04-01 16:11
#11

这文章有错误吧:sudo apt install ltp ?
图片.png

Reply View the author
owen_337
deepin testing team
2024-04-01 16:14
#12
阿尼樱奈奈

这文章有错误吧:sudo apt install ltp ?
图片.png

是的,感谢提醒,我改一下哈

Reply View the author