ByteNoteByteNote
Mac Performance Monitor:不只看当下,把 Mac 的性能历史记下来慢慢查

字节笔记本

2026年8月28日

Mac Performance Monitor:不只看当下,把 Mac 的性能历史记下来慢慢查

API中转
¥120

Mac 卡顿的时候打开活动监视器,往往只能看到「现在」——哪个进程在吃资源。真正难回答的是「什么时候开始的」「上周还好好的,中间发生了什么」。Mac Performance Monitor 的定位就是补这块:它把 CPU、内存压力、GPU、网络、磁盘、电池和每进程用量持续记录进本地 SQLite,出了问题回看历史找原因。MIT 开源,无遥测,两个月 300 多 stars。

项目简介

Swift 和 SwiftUI 写的原生菜单栏应用,作者 Zesty0wl。之前介绍过主打极致轻量的 AirStats,这个走的是另一条路:不只是实时读数,而是记录型分析器。菜单栏一个紧凑读数项,背后是一个持续写入的本地数据库和一整套分析界面。数据全部留在本机,开源可审计。

先看结论,再看数据

Dashboard 不是一屏数字,顶部先给一句白话结论(比如「一切正常」),下面才是标题瓦片、可选时间段的压力时间线、内存分解和 swap 趋势。排查问题的顺序被设计过:先告诉你有没有事,再让你钻细节。

进程浏览器是实时可排序过滤的全进程表,每个进程有详情检查器:内存足迹、CPU、文件描述符、磁盘 I/O、Rosetta 状态,都随时间展开。进程组功能能把相关应用和它的 helper 打包成一个栈,看混合足迹占整机的份额——Electron 应用一堆 helper 进程的场景特别受用。

记录、泄漏检测和诊断

记录分辨率可配置,任意时间窗口都能拉出 top 消耗者。泄漏检测会标记足迹持续爬升的进程,压力事件按时间留档。更进一步的是深度诊断:用签名且可更新的检查包解释某个进程是什么、它当前的行为正不正常——对「这个 mds_stores 到底在干嘛」式的困惑很有帮助。告警默认安静,只在临界压力、持续 swap、单进程超标和疑似泄漏时出声。

GPU 页:本地 AI 用户会喜欢的一页

Apple Silicon 上它能告诉你谁在用 GPU,精确到进程——直接读 AGX 驱动的 per-context 记账,不需要装 helper。设备侧的利用率、时钟状态驻留、GPU 和神经网络引擎功耗、热限制、按工作负载类别分解都有。

对跑本地模型的人有个贴心功能:它认得出 Ollama、llama.cpp、MLX、LM Studio、Core ML 和 Apple Intelligence 这些 AI 运行时,并从命令行里读出正在服务的模型名。本地推理和别的负载抢 GPU 时,一眼看清是谁的哪个模型在烧。持续高 GPU 占用可以开告警。

磁盘和硬件清单

磁盘页有吞吐、IOPS、服务延迟、利用率加历史,按 APFS 容器分组的卷容量条(含可清除空间)、内置 SSD 的 SMART 健康、启动卷空闲空间趋势,以及按归属 I/O 排的 top 进程。硬件页把整台 Mac 做成可搜索的清单树,配上芯片框图(CPU 集群、GPU 核心、神经网络引擎、统一内存逐个画出)、按比例的显示器、电池健康,USB、雷雳、Metal 限制、安全启动这些细项全在;按需点 Refresh 才读,不占采样节拍,任意条目可复制或导出报告。

安装

从 GitHub Releases 下载 pkg,Developer ID 签名加公证,装完无警告,Sparkle 自动更新。或 Homebrew:

sh
brew tap zesty0wl/mac-performance-monitor https://github.com/Zesty0wl/mac-performance-monitor
brew install --cask zesty0wl/mac-performance-monitor/mac-performance-monitor

官方 homebrew-cask 收录在审核中,过了之后直接 brew install --cask mac-performance-monitor

CLI:能无头采集,分析还得靠界面

仓库带一个 macperfmonitor-cliswift build 后生成,pkg 安装的不含它),定位是无头诊断,四个命令:probe 打印一次性系统内存快照(RAM、压力等级、VM 分项、swap、pageins/outs);sample 持续采样写库,--interval(默认 2 秒)、--duration(0 表示跑到中断)、--db 指定路径;emit-checksverify-checks 是诊断检查包的发布与验签配套。

实际能用的姿势是:在服务器或 CI 上跑 sample 无头采集,库是标准 SQLite(GRDB 写入),采完要么 sqlite3 自己写查询,要么把库拷回有 GUI 的机器看分析。要说清边界:它没有面向用户的分析命令(没有 top、report、export 这类现成输出),probe 是快照不是趋势,源码注释也写明这个 CLI 最初是作者做数据层调研的工具。

注意事项

  • macOS 15 起、仅 Apple Silicon;系统要求比多数同类工具高一档
  • 记录型工具意味着它在持续写 SQLite,对「一个字节都不想多花」的用户,之前介绍的 AirStats 那类轻量读数器更合适
  • 分析功能依赖历史数据积累,装完先让它跑几天再看趋势
  • 项目两个月新,单人维护为主,功能迭代快

项目链接

分享: