TLP Ubuntu

2025年03月17日 | 阅读 9 分钟

TLP 简介

TLP 是一个功能丰富的命令行实用程序,适用于 Linux,可在无需深入了解逻辑细节的情况下节省笔记本电脑的电池电量。TLP 的默认设置已用于延长电池寿命,因此我们可以安装并忘记它。TLP 可根据我们的特定需求进行自定义。

注意:TLP 将处理 powertop --autotune 会做的绝大部分设置。

重要:TLP 是纯粹的命令行实用程序。它不包含 GUI。

TLP 的工作原理

TLP 通常所做的是调整影响功耗的内核设置

内核设置

每个内核设置都是易失性的。状态在运行时驻留在 RAM 中,内核不对它们提供持久性。内核会创建一个默认状态,并且必须通过一个工具(即启动时的用户空间)在所有启动时重新应用修改。TLP 就是这个用户空间工具。

TLP 实现的大部分内核设置都发送到用户空间,即/sys/ 目录(sysfs 节点)。tlp-stat 的输出将显示这些路径。

注意:如果使用设置,并非 tlp-stat 显示的所有 sysfs 节点都受 TLP 影响,有些仅出于诊断或信息目的显示。

TLP 配置文件

TLP 提供两组独立的设置,称为配置文件,一组用于 AC 操作,一组用于电池。这意味着 TLP 必须使用适当的配置文件,不仅在启动时,而且在电源发生变化时。

事件驱动架构

TLP 的操作是事件驱动的,以实现上述所有功能。以下事件将允许应用设置:

TLP Ubuntu
  • 交流供电(充电器已插入)
    使用 AC 设置配置文件。
  • 电池供电(充电器已拔出)
    使用 BAT 设置配置文件。
  • 连接 UCB 设备
    为设备启动 USB 自动挂起模式(当未列入黑名单或排除时)。
  • 启动(系统启动)
    使用与 BAT/AC 电源相关的设置配置文件。根据我们的个人设置,开关蓝牙和充电阈值、WWAN 和 Wi-Fi 设备。
  • 关机(系统关机)
    根据我们的个人设置,开关或保存 WWAN、Wi-Fi 和蓝牙设备的状态,并禁用 USB 自动挂起模式。
  • 系统重启
    与关机类似,之后继续启动。
  • 笔记本电脑未连接/已连接(无线设备向导)或 WWAN、Wi-Fi、LAN 断开/连接
    根据我们的个人设置,启用或禁用内置 WWAN、Wi-Fi 和蓝牙设备。
  • 通过 ACPI 休眠状态 S3 到 S4 恢复系统
    使用与 BAT/AC 电源相关的设置配置文件。根据我们的个人设置,恢复蓝牙和充电阈值、WWAN 和 Wi-Fi 设备状态。
  • 通过 ACPI 休眠状态 S3 到 S4 挂起系统
    根据我们的个人设置,保存 WWAN、Wi-Fi 和蓝牙设备的状态,并关闭光驱的移除。

重要:TLP 不会对上述事件背后的设置进行自适应或动态修改。TLP 绝不会因为电池电量、CPU 负载或其他特定原因而更改设置。

注意:TLP 本身不监控上述事件,而是依赖于各种系统守护进程,如 NetworkManager、systemd 和 udevd。因此,TLP 不包含守护进程,并且 TLP 没有永久的后台进程显示在 ps 输出中。

TLP 的特性

设置,即省电,被组织成两个不同的配置文件,使我们能够独立地为 AC 和电池 (BAT) 操作调整性能和节能。

TLP Ubuntu
  • 脏缓冲区超时和内核笔记本模式
  • 处理器频率缩放,包括“turbo core”“turbo boost”
  • 限制最小/最大状态以控制 Intel CPU 的功耗
  • Intel CPU 性能/能耗策略 HWP、EPB 和 HWP.EPP 动态加速
  • APM(高级电源管理)硬盘级别和旋转关闭超时
  • 平台配置文件,用于控制性能/电源级别、风扇和热量速度
  • ALPMAHCI 链路电源管理)与设备黑名单
  • AHCI 的运行时电源管理,用于 USB/SATA/NVMe 磁盘和 SATA 端口
  • 总线设备(即PCle)的运行时电源管理
  • PCleASPM主动状态电源管理
  • Intel GPU 的频率限制
  • Wi-Fi 省电
  • AMD GPU 电源管理
  • 禁用/启用集成 WWAN、Wi-Fi 和蓝牙设备
  • 音频省电
  • 其他省电设置——独立于电源——如下:
  • WWAN 和蓝牙的状态在休眠/挂起后恢复
  • 固定网络唤醒
  • 无线设备向导:在网络连接/断开和连接/断开时禁用/启用无线电
  • 在启动时恢复无线设备的状态(使用上次关机)
  • 在关机和启动时禁用和启用无线设备(WWAN、Wi-Fi 和蓝牙)
  • USB 自动挂起,带有设备允许列表/黑名单
  • I/O 调度器

用于电池护理的设置如下:

  • 充电校准和阈值

TLP 设置

简介描述了 TLP 设置的构成方式、应用的参数语法以及如何修改它们。

其他部分详细说明了 TLP 的每个设置:

TLP Ubuntu
  • 操作
  • Audio(音频)
  • 电池护理特定厂商设置
  • 电池护理
  • 控制器和磁盘
  • 驱动器托架
  • 图形
  • 文件系统
  • 内核
  • 平台
  • 网络
  • 处理器
  • 无线设备向导
  • 无线设备切换
  • USB
  • ASPM 和运行时电源管理
  • 跟踪模式

引言

简介描述了 TLP 设置的构成方式、参数语法、配置文件和修改方法。

TLP Ubuntu

配置文件

TLP 1.3 及更高版本

TLP 1.3 版本引入并增强了配置方案,设置按描述的顺序从以下文件中读取:

  • 底层默认值
  • /etc/tlp.d/*.conf: 自定义下拉配置片段,按字母(词汇)顺序读取
  • /etc/tlp.conf: 用户配置

TLP 1.2.2 及更低版本

  • 所有设置都存储在 /etc/default/tlp 配置文件中。

配置文件

TLP 应用两个不同的设置配置文件,这些配置文件会根据电源自动使用。

  • 如果使用电池运行,则以 _BAT 结尾的参数非常有用。
  • 如果连接了 AC,则以 _AC 结尾的参数非常有用。

既不以 _BAT 也不以 _AC 结尾的参数适用于两个配置文件。

参数默认值

有两种类型的参数可用:

  • 没有底层默认值的参数
  • 具有底层默认值的参数

参数语法

配置文件包含注释行和参数。

注释行

“#”符号开头的行内容将被完全忽略。

#此处描述的内容无关紧要。

空行也会被忽略。

参数之后的注释将不被允许,整行将被默默忽略。

EXAMPLE="不适用于这种情况" # 参数在前!

参数行

包含空格的参数值应包含在双引号内。

修改

可以使用文本编辑器修改配置文件(但需要 root 权限)。

例如

所有修改都应通过删除开头的“#”符号来激活,并且仅在保存文件后在以下操作后生效:

  • 拔掉或插上 AC 电源
  • 重启后
  • 使用命令
    $ sudo tlp start

操作

TLP Ubuntu

TLP_ENABLE

设置为 0 以禁用 TLP(需要重启)。

未配置时的默认值:1

TLP_DEFAULT_MODE

定义 TLP 在无法检测到电源时的默认操作模式(BAT 或 AC)。仅适用于一些嵌入式硬件和台式机。

TLP_WARN_LEVEL

1.4 及更高版本

管理如何传递无效设置的警告。

禁用 - 0

后台任务(恢复、启动、电源变化)报告到 journal/syslog - 1

在终端中通知的 shell 命令 - 2

1 和 2 的组合 - 3

未配置时的默认值:3

Audio(音频)

N- 控制器将保持激活

Y- 使用声卡控制器供电

未配置时的默认值:Y

电池护理

在 1.3 及更低版本中,它被称为“电池功能”

在多台笔记本电脑上,电池护理的目的是通过减少电池运行产生的磨损来降低容量损失,即延长电池寿命。这可以通过以下方式实现:

  • 停止充电阈值:将最大充电水平限制在 100% 以下
  • 停止充电阈值:防止在连接充电器的情况下,充电后继续充电过程。
  • 校准:通过在电池控制器中设置新的“完全放电”“完全充电”锚点,支持保持充电水平、电池运行时间和估算值的准确性。

电池护理不包含额外的省电功能。

电池护理特定厂商设置

电池护理支持级别取决于笔记本电脑品牌和型号、TLP 版本和 Linux 内核版本。

前提条件

使用 TLP 进行充电控制校准或阈值

  • 硬件应具备此能力
  • 内核驱动程序应使这些功能在 Linux 下可用。

有两种不同的方法可以获取内核驱动程序:

  • 主线 Linux 内核中管理的驱动程序,所有发行版都附带。在许多支持的笔记本电脑上会自动加载,无需用户进行任何操作。
  • “外部内核驱动程序”不是主线 Linux 内核的一部分,需要用户安装发行版特定和附加软件包。这种情况仅适用于ThinkPads,并在安装中说明。

注意:如果硬件不具备此能力或没有适用的驱动程序,TLP 电池护理将无法控制它。

控制器和磁盘

DISK_APM_LEVEL_ON_AC/BAT

设置选项,即“高级电源管理级别”。一些可能的值在 1 到 255 之间。

以下是一些选定的值:

1- 最低性能/最高省电。

注意:此设置可能由于读写磁头过度上传而导致硬盘磨损加剧。

  • 128- 磨损和省电之间的平衡
  • 192- 防止某些 HDD 的极端磁头上传
  • 254- 最高性能/最低省电
  • 255- 禁用 APM(某些磁盘型号不支持)
  • Keep- 跳过特定磁盘此设置的唯一值

未配置时的默认值:“254 254”(AC),“128 128”(BAT)。

多个磁盘的值用空格分隔。

DISK_DEVICES

指定以下参数作用的磁盘设备。多个设备用空格分隔。

未配置时的默认值:“nvme0n1 sda”

如果使用驱动器托架中的第二个磁盘,内核分配的设备名称(sdb、sda)可能会改变。

驱动器托架

此功能允许关闭包含在以下设备中的可移动光驱:

  • MediaBay
  • UltraBay (ThinkPads)
  • 其他类型的托架

BAY_DEVICE

这是光驱的设备。

未配置时的默认值:sr0

BAY_POWEROFF_ON_AC/BAT

0- 活动光驱

1- 关闭光驱

未配置时的默认值:0

在 Ubuntu 上安装 TLP

对于 Linux,TLP 是一个高级电源管理工具。它提供了一个用于延长电池寿命的默认配置。它可以高度自定义,以满足用户特定时间的需求。

TLP 为电池和 AC 电源提供独立的设置配置文件,并在系统启动时禁用或启用 WWAN 和 Wi-Fi 无线设备。它为所有支持的型号(通过acpi-calltp-smapi)配置充电阈值和电池校准提供了一种统一的方式,特别是针对ThinkPads

在 Ubuntu 上,有三种安装 TLP 的方法。我们可以使用 aptitude、apt-get 和 apt。在下面的部分中,我们将详细介绍所有方法。我们可以选择其中一种。

使用 apt-get 安装 TLP

我们需要先使用以下命令更新 apt 数据库。


TLP Ubuntu

更新 apt 数据库后,我们现在可以通过执行以下命令使用 apt-get 安装 TLP:


TLP Ubuntu

使用 apt 安装 TLP

我们将使用以下命令更新 apt 数据库:


TLP Ubuntu

更新 apt 数据库后,我们现在可以通过执行以下命令使用 apt 安装 TLP:


TLP Ubuntu

使用 aptitude 安装 TLP

如果我们已经使用了上述方法,则可以跳过此方法。如果我们希望遵循此方法,我们可能需要先安装 aptitude,因为 aptitude 默认未在 Ubuntu 上安装。我们需要使用 aptitude 使用以下命令更新 apt 数据库:

更新 apt 数据库后,我们可以通过执行以下命令使用 aptitude 安装 TLP:

在 Ubuntu 上卸载 TLP

我们可以运行以下命令来仅卸载 TLP 包。


TLP Ubuntu

卸载 TLP 和依赖项

我们可以使用以下命令卸载 TLP 以及 Ubuntu 不需要的所有依赖项。


TLP Ubuntu

删除 TLP 的数据和配置

要从 Ubuntu 中删除 TLP 的数据和配置,我们可以运行以下命令:


TLP Ubuntu

删除 TLP 的数据、配置和依赖项

要删除 TLP 的数据、配置和依赖项,我们可以执行以下命令:


TLP Ubuntu
下一个主题更新 Ubuntu 终端