2.2. PowerTOP


在 Red Hat Enterprise Linux 7 中引入无空内核可让 CPU 更频繁地进入空闲状态,从而减少功耗并改进电源管理。PowerTOP 工具识别频繁唤醒 CPU 的内核和用户空间应用程序的特定组件。powertop 的开发用于执行审计,这会导致在此版本中调整许多应用程序,从而减少了 10 倍的 CPU 唤醒。
Red Hat Enterprise Linux 7 附带 PowerTOP 版本。这个版本是 1.x 代码库的完整重写。它具有基于 tab 的更清晰的用户界面,并广泛使用内核"完美"基础架构来提供更多准确的数据。系统设备的电源行为会被跟踪并实际显示,因此可以快速发现问题。在实验性上,2.x 代码库包含一个电源估算引擎,可以指示消耗电源各个设备和进程的数量。请参阅 图 2.1 “操作中的 powertop”
要安装 PowerTOP 运行,以 root 用户身份运行以下命令:
~]# yum install powertop
要运行 PowerTOP,请以 root 用户身份使用,使用以下命令:
~]# powertop
powertop 可以提供系统总功耗的估算,并为每个进程、设备、内核工作、计时器和中断处理程序显示单独的功耗。在此任务期间,笔记本电脑应在电池电源上运行。要校准电源估算引擎,以 root 用户身份运行以下命令:
~]# powertop --calibrate
校准需要时间。进程执行各种测试,并将通过亮度级别和切换设备进行循环。让进程完成,且不会在校准期间与机器进行交互。完成校准过程后,PowerTOP 会正常启动。让它运行大约一小时以收集数据。收集足够数据后,将在第一列中显示节能数据。
如果您在笔记本电脑上执行命令,它仍然应在电池电源上运行,以便显示所有可用的数据。
在运行期间,PowerTOP 会从系统中收集统计信息。在 Overview 选项卡中,您可以查看将 wake-ups 发送到 CPU 最频繁或消耗最多电源的组件列表(请参阅 图 2.1 “操作中的 powertop”)。相邻列显示电源估算、如何使用资源、每秒唤醒、组件的分类,如进程、设备或计时器以及组件的描述。每秒唤醒数代表如何高效地执行内核的服务或设备和驱动程序。较少的 wakeups 表示消耗较少的电源。组件按照可进一步优化的电源使用量排序。
调整驱动程序组件通常需要内核更改,这超出了本文档的范围。但是,发送 wakeups 的 userland 进程更容易管理。首先,确定该服务或应用程序是否需要在此系统上运行。如果没有,只需取消激活它。要永久关闭旧的 System V 服务,请运行:
~]# systemctl disable servicename.service
有关进程的详情,请以 root 身份运行,使用以下命令:
~]# ps -awux | grep processname
~]# strace -p processid
如果 trace 看起来像是重复自己,则可能是一个忙碌的循环。修复此类错误通常需要该组件中的代码更改。
图 2.1 “操作中的 powertop” 中所示,如果适用,则会显示总功耗和剩余电池生命周期。以下简短概述包括每秒唤醒的总唤醒、每秒 GPU 操作数和每秒虚拟文件系统操作。在屏幕的其余部分中,有一个进程、中断、设备和其他资源列表,并根据它们的利用率排序。如果正确校准,则会显示第一列中每个列出的项目的功耗估算。
使用 TabShift+Tab 键通过选项卡进行循环。在 Idle stats 选项卡中,显示所有处理器和内核使用 C-states。在 Frequency stats 选项卡中,显示所有处理器和内核,使用 P-states 包括 Turbo 模式(如果适用)。CPU 越长,CPU 保持在更高的 C- 或 P-states 中,更好(C4 大于 C3)。这对 CPU 用量的优化方式是一个很好的指示。在系统闲置时,最好最好在 C- 或 P-state 中达到 90% 或更高。
Device Stats 选项卡提供与 Overview 选项卡类似的信息,但只适用于设备。
Tunables 选项卡包含优化系统以降低功耗的建议。使用 updown 键移动建议,使用 enter 键打开和关闭建议。

图 2.1. 操作中的 powertop

操作中的 powertop
您还可以使用 --html 选项运行 PowerTOP 来生成 HTML 报告。将 htmlfile.html 参数替换为输出文件所需名称:
~]# powertop --html=htmlfile.html
默认情况下,PowerTOP 使用 20 秒的测量,您可以使用 --time 选项更改它:
~]# powertop --html=htmlfile.html --time=seconds
有关 PowerTOP 的更多信息,请参阅 PowerTOP 主页
powertop 也可以与 turbostat 实用程序一起使用。这是一个报告工具,显示 Intel 64 处理器上的处理器拓扑、频率、空闲的电源状态统计、温度和功耗的信息。有关 turbostat 实用程序的更多信息,请参阅 turbostat(8) man page,或阅读 性能调优指南
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.