如何监控 Linux 中的电量使用情况
测量操作系统的功耗非常重要,尤其是当您尝试最大限度地延长笔记本电脑的电池寿命或减少数据中心机架安装服务器的能源费用时。电源使用监视器还有助于诊断电源管理问题,甚至是应用程序的错误行为。
在这篇文章中,我将描述如何在 Linux 操作系统中监控电源使用情况。
对于基于 Linux 的系统,您可以使用 PowerTop
(Intel 开发的基于 ncurses
的命令行工具)来监控进程级功耗,并提供优化电源管理的建议。 PowerTop
支持 Intel、AMD、ARM 和 UltraSparc 处理器,而由于显而易见的原因,它在 Intel 处理器上最可靠。
在 Linux 上安装 PowerTop
在 Ubuntu 或 Debian 上安装 PowerTop
$ sudo apt-get install powertop
在 CentOS、Fedora 或 RHEL 上安装 PowerTop
$ sudo yum install powertop
运行 PowerTop
要启动 PowerTop
,只需运行:
$ sudo powertop
启动 PowerTop
后,您可以按左/右箭头键导航基于选项卡的 UI。 PowerTop
可以在收集足够的测量结果后开始报告功率估计值,这可能需要几分钟的时间。以前的测量结果存储在 /var/cache/powertop
中,并将在后续 PowerTop
启动时加载。
在 Tunables
菜单中,您可以尝试各种电源管理设置,以防某些可调参数在您的 Linux 发行版上未启用。
对于离线分析,PowerTop
允许您将电量监测结果导出为 csv 或 html 格式,如下所示。
$ sudo powertop --csv=output.csv
$ sudo powertop --html=output.html
为了获得更准确的估计,您可以在校准模式下运行PowerTop
,如下所示。整个校准过程可能需要几分钟。在校准过程中,PowerTop
可以断开系统与 WiFi 的连接、调整屏幕亮度并生成 USB 设备活动。
$ sudo powertop --calibrate
Loaded 27 prior measurements
Starting PowerTOP power estimate calibration
Calibrating idle
Calibrating: disk usage
My (0) time 14986258702 is not the same as child (0) time 15395089845
Calibrating backlight
.... device /sys/class/backlight/intel_backlight/brightness
PowerTop
的截图如下所示。
PowerTop 概述

PowerTop 空闲统计数据

PowerTop 频率统计

PowerTop 设备统计信息

PowerTop 可调参数

PowerTop 生成的 HTML 报告
