什么是 powermetrics?
powermetrics
是 macOS 系统自带的一个命令行工具,用于收集和分析系统能源消耗数据。通过它,我们可以深入了解 Mac 的硬件性能、软件行为以及能源使用情况,从而优化系统配置,提高电池续航时间。
基本用法
bash
sudo powermetrics --samplers <sampler1> <sampler2> ...
- sudo: 以管理员权限运行,因为 powermetrics 需要访问系统底层信息。
- --samplers: 指定要采样的数据类型。
常用 Sampler
- smc: 系统管理控制器 (SMC) 数据,包括 CPU 温度、风扇转速、电池信息等。
- cpu_power: CPU 电源信息,如 CPU 频率、功耗等。
- gpu_power: GPU 电源信息,如 GPU 频率、功耗等。
- disk_activity: 磁盘活动信息,如读写次数、传输速率等。
- network_activity: 网络活动信息,如发送和接收的数据量等。
示例
-
查看 CPU 和 GPU 的功率信息:
bashsudo powermetrics --samplers cpu_power gpu_power
-
查看系统管理控制器 (SMC) 的详细信息:
bashsudo powermetrics --samplers smc
-
连续采样并保存数据:
bashsudo powermetrics --samplers smc cpu_power --sample-interval 1 -i 60 > power_log.txt
以上命令将每秒采样一次 SMC 和 CPU 电源数据,并持续 60 秒,将结果保存到
power_log.txt
文件中。
数据分析
- 手动分析: 通过查看终端输出或日志文件中的数值,可以了解系统的能源消耗情况。
- 使用工具: 可以使用第三方工具(例如 Excel、Python 等)对采集到的数据进行更深入的分析,绘制图表,发现性能瓶颈。
常见用途
- 诊断性能问题: 找出导致系统性能下降或发热的组件。
- 优化电池续航: 调整系统设置、关闭不必要的进程,以延长电池使用时间。
- 监测硬件健康状况: 监控 CPU、GPU 等硬件的温度和功耗,及时发现潜在问题。
- 开发低功耗应用: 为应用程序开发者提供能源消耗数据,帮助他们优化代码。
注意事项
- 数据量大: 长时间采样会产生大量数据,建议定期清理日志文件。
- 影响性能: 频繁采样可能会对系统性能产生一定影响。
- 数据解读: 需要对收集到的数据进行深入分析,才能得出有价值的结论。
更多信息
- 官方文档: 可以在 Apple 开发者网站上找到更详细的
powermetrics
命令用法说明。 - 社区讨论: 在 Stack Overflow、Apple 开发者论坛等社区可以找到许多关于
powermetrics
的讨论和示例。
总结
powermetrics
是一个功能强大的工具,可以帮助用户深入了解 Mac 的能源消耗情况。通过合理利用这个工具,可以有效地优化系统性能,提高电池续航时间。
输出示例截取
bash
CPU Power: 151 mW
GPU Power: 13 mW
ANE Power: 0 mW
Combined Power (CPU + GPU + ANE): 164 mW
可以看到CPU GPU ANE的功耗,其中ANE就是苹果芯片中鼎鼎有名的NPU或者AI加速芯片。从耗能的角度,可以查看各种处理器是否在工作。