MacOS的powermetrics命令查看macbook笔记本的耗能情况,附带查看ANE的工作情况

什么是 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 的功率信息:

    bash 复制代码
    sudo powermetrics --samplers cpu_power gpu_power
  • 查看系统管理控制器 (SMC) 的详细信息:

    bash 复制代码
    sudo powermetrics --samplers smc
  • 连续采样并保存数据:

    bash 复制代码
    sudo 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加速芯片。从耗能的角度,可以查看各种处理器是否在工作。

相关推荐
空安小菜鸟3 小时前
Mac 重启电脑导致代理失效
macos
sweethhheart2 天前
【typora激活使用】mac操作方式
前端·数据库·macos
库奇噜啦呼2 天前
【iOS】简单的四则运算
macos·ios·cocoa
HoJunjie3 天前
macOS sequoia 15.7.1 源码安装node14,并加入nvm管理教程
macos·node.js
心灵宝贝3 天前
Principal v6.15 中文汉化版安装教程|Mac .dmg 文件安装步骤详解
macos
你好龙卷风!!!3 天前
mac | Windows 本地部署 Seata1.7.0,Nacos 作为配置中心、注册中心,MySQL 存储信息
windows·mysql·macos
源文雨3 天前
MacOS 下 Warp ping 局域网设备报错 ping: sendto: No route to host 的解决方法
运维·网络协议·安全·macos·网络安全·ping
liulilittle3 天前
macOS 内核路由表操作:直接 API 编程指南
网络·c++·macos·策略模式·路由·route·通信
QQ12958455044 天前
Mac添加全局变量
开发语言·macos
Everbrilliant895 天前
Xcode上编译调试ffmpeg
macos·ffmpeg·xcode·ffmpeg源码编译工具·xcode调试ffmpeg源码·ffmpeg工具环境变量配置