Powertop
Powertop 是由英特尔提供的工具,用于在用户空间、内核和硬件中启用各种节电模式。它可以监控进程,并显示哪些进程正在利用 CPU 并将其从空闲状态唤醒,从而能够识别功耗特别高的应用程序。
安装
安装 powertop 软件包,或 powertop-gitAUR 以获取最新的开发版本。
用法
Powertop 的交互模式可以通过以下命令调用
# powertop
在交互模式下,您可以在“可调参数”和“唤醒”选项卡中修改推荐的设置。这允许您更改设置并监控它们在“概述”选项卡中如何影响您的功耗。但是,这不会持久保存任何设置,更改将在重启后丢失。
生成报告
Powertop 可以生成 CSV 或 HTML 格式的报告。HTML 导出是一个交互式文档,显示推荐的设置。请确保在生成报告之前重启以恢复系统默认设置!
您还可以按照以下步骤提取推荐的参数
- 使用 powertop 生成参数报告
# powertop --html=powerreport.html
- 在您喜欢的网络浏览器中打开报告。报告的“调优”选项卡现在显示了该工具建议应用的实际参数,以节省电量。您可以使用以下命令提取命令
$ awk -F '</?td ?>' '/tune/ { print $4 }' powerreport.html
较新版本的 Powertop 包含 --auto-tune-dump
选项,该选项将输出 Powertop 的 --auto-tune
将要运行的命令。如果您不想运行 Powertop 的所有建议,这对于包含在脚本中非常有用。
应用设置
有两种方法可以自动应用建议的设置
- 推荐: 您可以在启动时通过使用模块参数、udev 规则 和 sysctl 来应用这些设置。有关详细信息,请参阅电源管理页面。您还可以使用 powertop-to-tmpfileAUR 助手通过 systemd-tmpfiles 应用设置。
- 您可以使用 powertop 的
--auto-tune
功能,该功能将所有可调选项设置为其“良好”设置。这可以与 systemd 服务结合使用,以便在启动时设置可调参数。请记住启用/启动该服务。
/etc/systemd/system/powertop.service
[Unit] Description=Powertop tunings [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/powertop --auto-tune [Install] WantedBy=multi-user.target
您还可以将此行添加到 [Service]
部分,以防止您的“鼠标”在启动时断开连接(如果它已连接到您的系统)。
ExecStartPost=/bin/sh -c 'for f in $(grep -l "Mouse" /sys/bus/usb/devices/*/product | sed "s/product/power\\/control/"); do echo on >| "$f"; done'
故障排除
错误:无法从文件加载
如果您在启动 powertop 时收到如下错误,则可能是 powertop 尚未收集到足够的测量数据。要解决此问题,请保持 powertop 运行一段时间,仅连接电池电源。
Loaded 39 prior measurements Cannot load from file /var/cache/powertop/saved_parameters.powertop Cannot load from file /var/cache/powertop/saved_parameters.powertop
校准以防止测量不准确
如果您遇到测量不准确的情况,则可能是您需要先校准 powertop。这可以通过使用 --calibrate
参数运行 powertop 来完成。
# powertop --calibrate
显示功耗估算
在显示功耗估算列之前,powertop 需要运行 270 次测量。每次测量持续 20 秒,这意味着您需要让 powertop 总共运行 1 小时 30 分钟。