返回目录
开源项目系统与运维类新手

AirStats:macOS 菜单栏超轻量系统监控开源项目

AirStats 是一款面向 macOS 的菜单栏系统监控工具,通过 Mach、IOKit、sysctl 和 CoreWLAN 读取 CPU、内存、GPU、网络、磁盘、电池、温度、进程与主机信息,并显示在菜单栏、下拉面板和桌面小组件三处。项目以极低资源占用为目标(常驻约几 MB 内存、单核占用不到 1%,宣称 0.046% CPU),无 Dock 图标,采用 MIT 许可证。

0 次阅读2026/09/18 发布
AirStats:macOS 菜单栏超轻量系统监控开源项目 来源图片

社区作者 · zZz

它解决什么问题

AirStats 是一个运行在 Mac 菜单栏上的系统监控应用。它从内核读取 CPU、内存、GPU、网络、磁盘、电池、温度、进程和主机统计信息,并在三个位置展示:菜单栏本身、点击状态项后弹出的面板,以及可长期留在桌面上的小组件。

设计目标是真正轻量。菜单栏监控程序会全天候运行,因此 AirStats 常驻内存仅几 MB、CPU 占用为单核的一小部分,而不是同类工具动辄数十 MB。它没有 Dock 图标,通过 Mach、IOKit、sysctl 和 CoreWLAN 读取系统数据。

代码结构(来源 README 的源码布局):

  • Sources/AirStatKit:采集器、采样引擎、设置、格式化,不含 UI。
  • Sources/AirStatUI:菜单栏绘制、面板、桌面小组件、设置窗口、图表、设计系统。
  • Sources/AirStats:可执行文件、app delegate,以及 probe 和 render 命令。
  • Tests/AirStatKitTests:采集器的契约测试,以及设置与格式化测试。
  • Scripts/build.sh:构建二进制并组装 .app。
  • Scripts/release.sh:签名、公证并打包发行用的 .dmg。
  • Scripts/appcast.py:把一次发布写入 Sparkle 读取的 appcast。
  • Scripts/benchmark.py:在同一个采样窗口内对 Mac 上的多个菜单栏监控程序采样对比。

AirStatKit 从不导入 SwiftUI 或 AppKit,这使得测试和 probe 可以在无窗口进程中运行。

更新机制:AirStats 使用 Sparkle 自动更新,每周向 airstats.app 询问一次是否有新版本,且只在你确认时才安装;这两项都可在 General 设置中关闭。

贡献与联系:CONTRIBUTING.md 中列出了提交 PR 前需要运行的检查项和项目内部规则。Bug 和功能请求请提交到 issue tracker,私密事项可发邮件至 [email protected]

配图 1 为项目在 docs 目录下的浅色版 logo。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

环境要求(来源明确列出):

  1. macOS 14 或更高版本。
  1. Apple 芯片(Apple silicon)。

方式一:从官网下载安装包

  1. 从 airstats.app 下载。
  1. 打开 dmg。
  1. 将 App 拖入 Applications(应用程序)文件夹。
  1. 该应用已签名并公证,因此打开时不会出现警告。

方式二:使用 Homebrew 安装 执行命令:

命令
brew install --cask airstats

方式三:从源码构建

  1. 准备工具链:需要 Xcode 16 自带的 Swift 6 工具链。

Scripts/build.sh release

  1. 构建并安装,依次执行以下命令:
命令
cp -R .build/arm64-apple-macosx/release/AirStats.app /Applications/

open /Applications/AirStats.app

  1. 说明:Scripts/build.sh 会把 SwiftPM 产物包装进 .app bundle,将 Sparkle.framework 复制到 Contents/Frameworks,并做 ad-hoc 签名。macOS 只会给设置了 LSUIElement 且已签名的 bundle 授予状态项(status item)。该脚本不带参数运行时构建 debug 版本。

首次运行与常见问题:

  • 自己构建的版本使用 ad-hoc 签名即可在本机运行,但不适合分发:通过互联网传输过来的 ad-hoc bundle 会被 macOS 拒绝。
  • 正式下载包由 Scripts/release.sh 产出,使用 Developer ID 证书签名,并把 Apple 的公证票据装订(staple)到 .dmg 上。
  • 自动更新由 Sparkle 负责,每周向 airstats.app 查询一次新版本,仅在用户确认后安装;查询与安装均可在 General 设置中关闭。
  • 提交 PR 前请按 CONTRIBUTING.md 中列出的检查项执行,并遵循其中的项目规则。

来源教程配图

教程配图
配图 1 · 教程配图查看原图

适用场景

在 macOS 菜单栏常驻查看 CPU
内存
GPU 占用
监控网络与磁盘读写活动
查看电池与温度/热状态信息
查看进程与主机统计信息
在桌面上长期放置监控小组件
对比不同菜单栏监控工具的采样与资源开销