A tiny, native macOS menu bar system monitor with ring gauges and Liquid Glass.
原生 Swift 菜单栏系统监控:圆环仪表、一页看完、尽量轻。
- 一页总览:CPU / 内存(App·联动·压缩分段环)/ 交换 / GPU 圆环,能效核与性能核分色的每核细条,内存压力。
- 近 30 分钟趋势:CPU 与内存迷你折线,按真实时间铺开。
- 磁盘与网络:系统盘、外置卷剩余空间;物理
en*接口收发速率(不重复计代理utun)。 - 供电压力:电量、适配器负载(实际输入 ÷ 额定功率)或放电功率、整机功耗估算、电池净功率、转换损耗、实时电压电流、循环次数、系统热状态、低电量模式。
- 进程:近 60 秒 CPU 峰值 Top 4、内存 RSS Top 4。
- 固定面板:图钉按钮,固定后打开其他窗口不自动收起;面板高度按内容自适应并限制在屏幕内。
- 原生 Liquid Glass:
NSGlassEffectView+ SwiftUIglassEffect,无第三方依赖。 - 轻:
- 面板打开时按 1 s / 3 s / 10 s 刷新;
- 面板关闭时,“后台采样”开启则每 15 秒只读 CPU、内存、网络、热状态,关闭则完全不采样;
- 菜单栏保持静态图标,仅在内存压力警告或过热时变橙。
- 无联网、无 shell 采样、无管理员 helper、无数据落盘(仅
UserDefaults存两项偏好)。
- Apple Silicon Mac,macOS 26 (Tahoe) 或更新
- Swift 命令行工具(
xcode-select --install),无需完整 Xcode
git clone https://github.com/LightChainr/LightMonitor.git
cd LightMonitor
zsh build.sh
open ~/Applications/LightMonitor.appbuild.sh 会编译、ad-hoc 签名并安装到 ~/Applications/LightMonitor.app,然后运行自测。
重新生成图标:zsh icon/build_icns.sh。
卸载:先在面板里关闭“登录启动”,退出应用,删除 ~/Applications/LightMonitor.app。
- CPU:Mach
host_processor_info增量;打开面板后约 1 秒出现第一次有效值。 - 内存:Mach VM 页计数近似(App = active + inactive − 文件缓存 − 可清除),不是活动监视器的精确复刻;压力等级读
kern.memorystatus_vm_pressure_level。 - 电源:只读
AppleSmartBatteryIORegistry。SystemPowerIn为实际输入;整机功耗 = 输入 − 电池净充入(接电)或电池净放出(电池供电),含转换损耗,不是 CPU 单独功耗,也不是墙插实测。这些遥测字段并非稳定公开 API,未来系统可能变化;缺失或不合理时显示“不可用”。 - 进程 CPU:100% = 占满一个核;RSS 含共享页,不可相加。
| 参数 | 作用 |
|---|---|
--self-test |
电源解析单元测试 |
--sample |
打印当前电源遥测 |
--diagnostics |
采样三次并检查边界 |
--load-test |
单核负载下的进程 CPU 测量 |
--render out.png |
离屏渲染面板布局(不含玻璃材质) |