Powertop
Powertop 是一个 Intel 提供的在用户空间、内核和硬件层面的节电工具。它可以监视进程,并显示哪些进程利用 CPU 并从空闲状态唤醒它,从而识别具有特殊高功率需求的应用程序。
安装[编辑 | 编辑源代码]
安装 powertop包 或最新开发版本 powertop-gitAUR。
使用[编辑 | 编辑源代码]
Powertop 的交互模式可以通过以下方式调用:
# powertop
在交互模式下,您可以在 Tunables 和 WakeUp 选项卡中修改建议的设置,并可以在 Overview 选项卡中监视它们对功耗的影响。但是,任何设置都不会保留,重启后会丢失。
生成报告[编辑 | 编辑源代码]
Powertop 可以生成 CSV 或 HTML 格式的报告。HTML 导出的是一个交互式文档,显示推荐的设置。在生成报告之前,请确保重启以恢复为系统默认设置!
您也可以通过遵循以下步骤来提取推荐的参数:
- 使用 Powertop 生成参数报告:
# powertop --html=powerreport.html
- 在您喜欢的网页浏览器中打开报告。报告的 Tuning 标签现在显示了工具建议节省电量应用的实际参数。提取命令:
$ awk -F '</?td ?>' '/tune/ { print $4 }' powerreport.html
较新版本的 Powertop 包括了 --auto-tune-dump
选项,它将输出 Powertop 的 --auto-tune
将运行的命令。如果您不想运行 Powertop 的所有建议,这在脚本中非常有用。
保存设置[编辑 | 编辑源代码]
有两种方法保存其设置,使其在重启后依然应用先前的设置。
- 推荐:使用 Kernel modules、 Udev 和sysctl来使其在系统启动时应用设置。相关细节请看Power management。您也可以使用 powertop-to-tmpfileAUR 辅助工具,通过 systemd-tmpfiles 应用设置。
- 使用 Powertop 的
--auto-tune
参数,该参数会使得所有的可调整项变成 GOOD,为使其在系统启动时就生效,可使用 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'
疑难解决[编辑 | 编辑源代码]
Error: Cannot load from file[编辑 | 编辑源代码]
如果在启动 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: 运行 powertop 时增加 --calibrate
参数.
注意: 校准时会开关背光、wifi 等功能,在校准时不要触碰机器。
# powertop --calibrate