Red Hat Training

A Red Hat training course is available for RHEL 8

第 15 章 使用 PowerTOP 管理功耗

作为系统管理员,您可以使用PowerTOP 工具来分析和管理功耗。

15.1. PowerTOP 的目的

powertop 是一个诊断与功耗相关的问题的程序,并提供了有关如何延长电池生命周期的建议。

PowerTOP 工具可提供系统总耗估算,以及每个进程、设备、内核工作程序、计时器和中断处理程序的单独电源使用情况。该工具还可以识别经常唤醒 CPU 的内核和用户空间应用程序的特定组件。

Red Hat Enterprise Linux 8 使用PowerTOP 版本 2.x。

15.2. 使用 PowerTOP

先决条件

  • 要可以使用PowerTOP,请确保已在您的系统中安装了 powertop 软件包:

    # yum install powertop

15.2.1. 启动 PowerTOP

流程

  • 要运行PowerTOP,请使用以下命令:

    # powertop
重要

运行 powertop 命令时,笔记本电脑应在电池电源中运行。

15.2.2. calibrating PowerTOP

流程

  1. 在笔记本电脑中,您可以通过运行以下命令来校准电源估算引擎:

    # powertop --calibrate
  2. 使校准完成而无需在安装过程中与计算机交互。

    校准需要时间,因为进程会执行各种测试,通过亮度级别进行循环,以及打开和关闭交换机设备。

  3. 完成 calibration 过程后,PowerTOP 会正常启动。让它运行大约一小时来收集数据。

    收集到足够的数据后,输出表的第一列将显示电源估算数据。

注意

请注意,powertop --calibrate 只能在笔记本电脑中使用。

15.2.3. 设置测量间隔

默认情况下,PowerTOP 以 20 秒间隔进行测量。

如果要更改这个测量频率,请使用以下步骤:

流程

  • 使用 --time 选项运行 powertop 命令:

    # powertop --time=time in seconds

15.3. powertop 统计

在运行期间,PowerTOP 从系统中收集统计信息。

powertop的输出会提供多个标签页:

  • Overview
  • Idle stats
  • Frequency stats
  • Device stats
  • Tunables

您可以使用 TabShift+Tab 键循环这些标签页。

15.3.1. Overview 选项卡

Overview 标签页中,您可以查看向 CPU 发送唤醒的组件列表,或者最多消耗最多的组件。Overview 选项卡中的项目(包括进程、中断、设备和其他资源)按照使用情况进行排序。

Overview 标签页中的相邻列提供了以下信息:

使用
对资源使用情况的电源估算.
events/s
每秒 Wakeups.每秒唤醒次数表示内核的服务或设备和驱动程序的效率如何。更少的唤醒意味着消耗的功率更少。组件按照其功耗可优化程度排序。
类别
组件的分类,如流程、设备或计时器。
描述
组件的描述。

如果正确校准,也会显示第一列中列出的每个项目的功耗估算。

此外,Overview 标签还包括带有汇总统计的行,例如:

  • 总功耗
  • 剩余电池寿命(仅适用于)
  • 每秒唤醒总数、每秒 GPU 操作数和虚拟文件系统操作摘要

15.3.2. Idle stats 选项卡

Idle stats 标签显示所有处理器和内核的 C-states 使用情况,而 Frequency stats 标签则显示 P-states 的使用情况,包括 Turbo 模式(如果适用)用于所有处理器和内核。C- 或 P-states 的时间代表 CPU 使用率优化程度。CPU 处于更高 C- 或 P-states 的时间越长(例如,C4 高于 C3),CPU 使用率优化越好。理想情况下,当系统空闲时,驻留在最高 C- 或 P-state 中是 90% 或 P-state。

15.3.3. 设备统计数据选项卡

Device stats 标签提供与 Overview 标签类似的信息,但只适用于设备。

15.3.4. Tunables 选项卡

Tunables 标签包含用于优化系统以降低功耗的PowerTOP建议。

使用 updown 键完成建议,使用 enter 键切换或关闭建议。

图 15.1. powertop 输出

powertop 输出 n

其它资源

有关PowerTOP的详情,请参阅 PowerTOP 的主页

15.4. 生成 HTML 输出

除了终端中的 powertop’s 输出外,您还可以生成 HTML 报告。

流程

  • 使用 --html 选项运行 powertop 命令:

    # powertop --html=htmlfile.html

    htmlfile.html 参数替换为输出文件所需的名称。

15.5. 优化功耗

要优化功耗,您可以使用 powertop 服务或 powertop2tuned 工具。

15.5.1. 使用 powertop 服务优化功耗

您可以使用 powertop 服务从引导的 Tunables 标签页中自动启用所有PowerTOP建议:

流程

  • 启用 powertop 服务:

    # systemctl enable powertop

15.5.2. powertop2tuned 工具

powertop2tuned 工具允许您根据PowerTOP 建议创建自定义Tuned 配置集。

默认情况下,powertop2tuned/etc/tuned/ 目录中创建配置集,并在当前选择的Tuned 配置集中基于自定义配置集。出于安全考虑,新的配置集首先禁用所有PowerTOP 调优。

要启用调优,您可以:

  • /etc/tuned/profile_name/tuned.conf file 中取消注释学员。
  • 使用 --enable-e 选项生成一个新配置集,启用PowerTOP 建议的大多数调优。

    某些潜在问题调优(如 USB 自动暂停)默认禁用,需要手动取消注释。

15.5.3. 使用 powertop2tuned 工具优化功耗

先决条件

  • powertop2tuned 工具安装在系统中:

    # yum install tuned-utils

流程

  1. 创建自定义配置集:

    # powertop2tuned new_profile_name
  2. 激活新配置集:

    # tuned-adm profile new_profile_name

附加信息

  • 如需 powertop2tuned 支持的完整选项列表,请使用:

    $ powertop2tuned --help

15.5.4. powertop.service 和 powertop2tuned 的比较

使用 powertop2tuned 优化功耗优先于 powertop.service,理由如下:

  • powertop2tuned 工具代表PowerTOP集成到 Tuned 中,它可受益于这两个工具的优势。
  • powertop2tuned 工具允许对启用的调整进行精细控制。
  • 使用 powertop2tuned 时,潜在的危险调优不会自动启用。
  • 使用 powertop2tuned 时,可以在不重启的情况下回滚。