有很多工具可以在笔记本电脑中省电和延长电池寿命。 我们已经看过两个工具,即 笔记本电脑模式工具 和 动力顶 这提高了 Linux 笔记本电脑的电池性能。 今天我们将讨论另一个名为的笔记本电脑电源管理实用程序 TLP. TLP 是一个功能丰富的命令行工具,用于优化 Linux 中的笔记本电脑电池寿命。
TLP 需要零配置。 TLP 的默认设置已针对节省 Linux 笔记本电脑的电池电量进行了优化。 它开箱即用地实施了 Powertop 的建议。 所以你只需在你的 Linux 笔记本电脑上安装 TLP 就可以了。 TLP 负责一切。 尽管 TLP 的默认设置足以提供最佳电池寿命,但它可以高度定制以满足特定要求。
在 Linux 中安装 TLP
TLP 被打包用于许多 Linux 发行版,包括 Arch Linux、Debian、 Fedora、Gentoo、openSUSE 和 Ubuntu。
将 TLP 安装在 Arch Linux 及其变体,运行:
$ sudo pacman -S tlp tlp-rdw
如果您使用的是 Thinkpad,您将安装以下任一软件包。 如果您不确切知道要安装哪个软件包,请运行 tlp-stat -b
命令为 sudo
或者 root
用户。 它将指导您安装哪个软件包。
acpi_call
– 外部内核模块为较新的 ThinkPad(X220/T420 及更高版本)提供电池重新校准。tp_smapi
– 提供电池充电阈值、重新校准和特定的外部内核模块tlp-stat -b
旧 ThinkPad 的输出。tp_smapi-lts
– 安装 LTS 内核时使用而不是 tp_smapi。
在 Debian 上:
$ sudo apt install tlp tlp-rdw
如果您使用的是任何 Thinkpad 型号的笔记本电脑,您可能需要安装以下任一软件包。 的输出 tlp-stat -b
将指导您安装哪个软件包。
acpi-call-dkms
– 外部内核模块为较新的 ThinkPad(X220/T420 及更高版本)提供电池重新校准tp-smapi-dkms
– 提供电池充电阈值、重新校准和特定的外部内核模块tlp-stat -b
旧 ThinkPad 的输出
在 Fedora:
$ sudo dnf install tlp tlp-rdw
如果您使用任何 Thinkpad 型号的笔记本电脑,请安装以下任一软件包。 以下包的依赖项在默认存储库中不可用。 因此,首先启用 RPM Fusion 存储库 Fedora 然后安装相应的软件包。 如果您不知道要安装哪个软件包,请运行 tlp-stat -b
命令为 sudo
或者 root
用户。
kernel-devel
– 下面的 akmod 包需要akmod-acpi_call
– 外部内核模块为较新的 ThinkPad(X220/T420 及更高版本)提供电池重新校准akmod-tp_smapi
– 提供电池充电阈值、重新校准和特定的外部内核模块tlp-stat -b
旧 ThinkPad 的输出
在 openSUSE 上:
$ sudo zypper install tlp tlp-rdw
对于 Thinkpad,安装相应的软件包。
acpi_call
– 为较新的 ThinkPad(X220/T420 及更高版本)提供电池重新校准的外部内核模块 – 下载 acpi_calltp_smapi_kmp
– 提供电池充电阈值、重新校准和特定的外部内核模块tlp-stat -b
旧 ThinkPad 的输出 – 下载 tp-smapi
在 Ubuntu 上:
要在 Ubuntu 及其衍生产品中安装 TLP,请添加 TLP 官方 PPA:
$ sudo add-apt-repository ppa:linrunner/tlp
并使用命令安装 TLP:
$ sudo apt install tlp tlp-rdw
对于 Thinkpad 笔记本电脑,安装相应的软件包:
acpi-call-dkms
– 外部内核模块为较新的 ThinkPad(X220/T420 及更高版本)提供电池重新校准tp-smapi-dkms
– 提供电池充电阈值、重新校准和特定的外部内核模块tlp-stat -b
旧 ThinkPad 的输出
同样,如果您不知道要安装哪个软件包,请运行 tlp-stat -b
命令为 sudo
或者 root
.
启用并启动 TLP 服务
在 Linux 机器上安装 TLP 后,确保在启动时启用它并使用以下命令启动服务:
$ sudo systemctl enable tlp.service
$ sudo systemctl start tlp.service
您还应该屏蔽以下服务以避免冲突并确保 TLP 的无线电设备切换选项的正确操作:
$ sudo systemctl mask systemd-rfkill.service
$ sudo systemctl mask systemd-rfkill.socket
在 Linux 中使用 TLP 优化笔记本电脑的电池寿命
就像我已经提到的,TLP 不需要配置。 它开箱即用! 默认设置经过优化,可以延长笔记本电脑的电池寿命。 您可以在位于 TLP 默认配置文件中查看默认设置 /etc/tlp.conf
.
要查看当前 TLP 配置、系统信息、活动节能设置和电池数据,请运行:
$ sudo tlp-stat
样本输出:
--- TLP 1.3.1 --------------------------------------------
+++ Configured Settings:
defaults.conf L0004: TLP_ENABLE="1"
defaults.conf L0005: TLP_PERSISTENT_DEFAULT="0"
defaults.conf L0006: DISK_IDLE_SECS_ON_AC="0"
defaults.conf L0007: DISK_IDLE_SECS_ON_BAT="2"
defaults.conf L0008: MAX_LOST_WORK_SECS_ON_AC="15"
defaults.conf L0009: MAX_LOST_WORK_SECS_ON_BAT="60"
defaults.conf L0010: CPU_ENERGY_PERF_POLICY_ON_AC="balance_performance"
defaults.conf L0011: CPU_ENERGY_PERF_POLICY_ON_BAT="balance_power"
defaults.conf L0012: SCHED_POWERSAVE_ON_AC="0"
defaults.conf L0013: SCHED_POWERSAVE_ON_BAT="1"
defaults.conf L0014: NMI_WATCHDOG="0"
defaults.conf L0015: DISK_DEVICES="nvme0n1 sda"
defaults.conf L0016: DISK_APM_LEVEL_ON_AC="254 254"
defaults.conf L0017: DISK_APM_LEVEL_ON_BAT="128 128"
defaults.conf L0018: DISK_IOSCHED="keep keep"
defaults.conf L0019: SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
defaults.conf L0020: SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
defaults.conf L0021: AHCI_RUNTIME_PM_TIMEOUT="15"
defaults.conf L0022: PCIE_ASPM_ON_AC="default"
defaults.conf L0023: PCIE_ASPM_ON_BAT="default"
defaults.conf L0024: RADEON_POWER_PROFILE_ON_AC="default"
defaults.conf L0025: RADEON_POWER_PROFILE_ON_BAT="default"
defaults.conf L0026: RADEON_DPM_PERF_LEVEL_ON_AC="auto"
defaults.conf L0027: RADEON_DPM_PERF_LEVEL_ON_BAT="auto"
defaults.conf L0028: WIFI_PWR_ON_AC="off"
defaults.conf L0029: WIFI_PWR_ON_BAT="on"
defaults.conf L0030: WOL_DISABLE="Y"
defaults.conf L0031: SOUND_POWER_SAVE_ON_AC="0"
defaults.conf L0032: SOUND_POWER_SAVE_ON_BAT="1"
defaults.conf L0033: SOUND_POWER_SAVE_CONTROLLER="Y"
defaults.conf L0034: BAY_POWEROFF_ON_AC="0"
defaults.conf L0035: BAY_POWEROFF_ON_BAT="0"
defaults.conf L0036: BAY_DEVICE="sr0"
defaults.conf L0037: RUNTIME_PM_ON_AC="on"
defaults.conf L0038: RUNTIME_PM_ON_BAT="auto"
defaults.conf L0039: RUNTIME_PM_DRIVER_BLACKLIST="amdgpu mei_me nouveau nvidia pcieport radeon"
/etc/tlp.conf L0323: USB_AUTOSUSPEND="0"
defaults.conf L0041: USB_BLACKLIST_BTUSB="0"
defaults.conf L0042: USB_BLACKLIST_PHONE="0"
defaults.conf L0043: USB_BLACKLIST_PRINTER="1"
defaults.conf L0044: USB_BLACKLIST_WWAN="0"
defaults.conf L0045: USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN="0"
defaults.conf L0046: RESTORE_DEVICE_STATE_ON_STARTUP="0"
defaults.conf L0047: RESTORE_THRESHOLDS_ON_BAT="0"
defaults.conf L0048: NATACPI_ENABLE="1"
defaults.conf L0049: TPACPI_ENABLE="1"
defaults.conf L0050: TPSMAPI_ENABLE="1"
+++ System Info
System = Dell Inc. Not Specified Inspiron N5050
BIOS = A05
Release = "Fedora release 34 (Thirty Four)"
Kernel = 5.11.17-300.fc34.x86_64 #1 SMP Wed Apr 28 14:21:28 UTC 2021 x86_64
BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.11.17-300.fc34.x86_64 root=UUID=2dbf3f8b-de51-413e-8872-5fb61c06cb8f ro rootflags=subvol=root rhgb quiet
Init system = systemd
Boot mode = BIOS (CSM, Legacy)
SELinux status = enabled (enforcing)
+++ TLP Status
State = enabled
RDW state = enabled
Last run = 02:46:11 PM IST, 53 sec(s) ago
Mode = battery
Power source = battery
[...]
禁用 USB 自动挂起
当 TLP 以默认配置启动时,当您的笔记本电脑使用电池运行时,一些 USB 设备将自动挂起以节省电量。 要禁用 USB 自动挂起,请编辑 /etc/tlp.conf
文件:
$ sudo nano /etc/tlp.conf
找到以下行并将其值设置为 0.
USB_AUTOSUSPEND=0
您还可以从 USB 自动挂起中排除特定设备(用空格分隔)。 首先,使用 lsusb
获取ID的命令。 然后,使用空格分隔的设备 ID 如下所示
USB_BLACKLIST="8078:0014 065d:8023"
Save 和 close 通过按下文件 CTRL+O
其次是 CTRL+X
.
强制电池 (BAT) 配置
当无法检测到电源时,AC 的设置将用于台式机和嵌入式硬件等设备。 如果您想在这些设备上使用 TLP 时强制使用电池 (BAT) 设置以启用更多省电功能,请编辑 /etc/tlp.conf
文件:
$ sudo nano /etc/tlp.conf
找到以下行并设置它们的值,如下所示:
# Operation mode when no power supply can be detected: AC, BAT. TLP_DEFAULT_MODE=BAT # Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE TLP_PERSISTENT_DEFAULT=1
有关更多详细信息,请查看 TLP 网站及其最后给出的 GitHub 页面。
TLP 是您应该在 Linux 笔记本电脑上安装的推荐应用程序之一。 还值得一提的是,您不应同时使用多个省电实用程序。 TLP 的设置会被其他工具设置覆盖,反之亦然,因此您可能无法获得最佳结果。 始终建议仅使用 TLP 并删除其他类似工具。
资源:
相关阅读:
- 在 Linux 中使用 Auto-cpufreq 自动优化 CPU 速度和功率
- CPU 电源管理器 – 在 Linux 中控制和管理 CPU 频率
- 如何在 Linux 的终端中检查笔记本电脑的电池状态和电量
穆罕默德哈桑的特色图片来自 关注.