macmon - Apple Silicon Mac 的性能监控利器
2026-04-30 tech mac performance monitoring rust homebrew 4 mins 1 图 1545 字

跑本地 LLM 模型的时候,一直想看 GPU 和 ANE 的实时功耗和温度。macOS 自带的 Activity Monitor 只有 CPU 使用率,看不到功耗数据。之前有 powermetrics 可以看,但要 sudo 权限,输出也是纯文本。后来发现了 macmon,Rust 写的 TUI 工具,不需要 sudo 就能看到芯片级的实时数据,果断装上。
安装
通过 Homebrew 安装:
/opt/homebrew/bin/brew install macmon
⚠️ 仅支持 Apple Silicon(M1-M5),x86 的 Homebrew 会报架构不兼容。
功能
macmon 通过 macOS 私有 API 采集数据,和 powermetrics 用同一个底层接口,但不需要 root 权限。主要功能包括:
- ⚡ 实时功耗:CPU / GPU / ANE 的实时功耗(瓦特)
- 📊 CPU 集群利用率:E-Core 和 P-Core 分开显示
- 💾 内存 / Swap 使用量
- 🌡️ CPU / GPU 温度
- 📈 历史曲线:带平均值和最大值
- 🎨 6 种配色主题,按
c切换 - 🪟 紧凑模式可以塞进小窗口
使用
基本 TUI
macmon

运行后界面分几个区域:
- 顶部:芯片型号、E/P 核心数、GPU 核心数、内存大小
- CPU 使用率曲线:E-Core 和 P-Core 分开显示,macOS 日常用 E-Core,重负载才切 P-Core
- GPU 使用率:图形处理负载
- 功耗和温度:系统总功耗、CPU/GPU/ANE 分项功耗,以及 CPU/GPU 平均温度
键盘操作:
| 快捷键 | 功能 |
|---|---|
q |
退出 |
v |
切换 Sparkline / Gauge 视图 |
c |
切换配色主题 |
控制采样间隔
macmon -i 500
默认 1000ms 刷新,可以改成 500ms 更频繁。
输出 JSON 给其他工具
macmon pipe -s 10
会输出 10 条 JSON 格式的指标数据,适合管道到 jq 或者其他脚本处理。
macmon -i 500 pipe -s 10 | jq
HTTP Server 模式
macmon 还支持把指标暴露为 HTTP 服务,方便接入 Prometheus / Grafana:
macmon serve # 默认 9090 端口
macmon serve -p 8080 # 自定义端口
macmon serve -i 500 # 采样间隔 500ms
两个端点:
| 端点 | 格式 | 说明 |
|---|---|---|
GET /json |
JSON | 当前指标快照 |
GET /metrics |
Prometheus | Prometheus 格式指标 |
接入 Prometheus 的配置示例:
scrape_configs:
- job_name: macmon
static_configs:
- targets: ["localhost:9090"]
小结
macmon 是目前 Apple Silicon Mac 上最方便的终端监控工具,Rust 实现,单二进制文件,无需 sudo 就能看到芯片级功耗和温度。对于跑本地模型、监控系统负载来说非常实用。
参考
- macmon GitHub:https://github.com/vladkens/macmon