2.2 KiB
2.2 KiB
Monitor
macOS 原生系统监控悬浮窗 —— 实时 CPU/GPU/内存/Swap + Top进程,半透明可拖动,一切可定制。
截图
点击菜单栏 图标呼出悬浮窗:
┌──────────────────────┐
│ ⏲ Monitor 21:30:00 ✕│
│──────────────────────│
│ CPU ████████░░ 42% │
│ 10 核心 · Apple M2 Pro│
│ │
│ 内存 ███░░░░░░░ 35% │
│ 5.6 / 16 GB │
│ │
│ CPU 消耗 Top │
│ WindowServer 12.3% │
│ Code 8.1% │
└──────────────────────┘
功能
- CPU / GPU / 内存 / Swap 实时占用率
- Top 进程 按 CPU 和内存消耗排列
- 5 种计量器样式:圆环、条状、纯文本、扇形、紧凑横条
- 灵活布局:每个模块独立指定行号 + 左/右/全宽列位
- 半透明悬浮窗:毛玻璃 HUD 风格,任意拖动
- 菜单栏图标:左键切换显隐,右键菜单(设置、退出)
- 独立设置窗口:显示内容、样式、行号列位、宽高、字体、透明度、刷新率全部可调
安装
方式一:DMG
下载 Monitor.dmg,将 FloatingMonitor 拖入 Applications。
方式二:源码运行
git clone git@git.cyjai.com:JOJO/Monitor.git
cd Monitor
swift run
要求
- macOS 14 (Sonoma) 或更高
- Xcode 16+ 或 Swift 6.2 工具链
使用
- 启动后菜单栏出现仪表盘图标
- 左键点击图标 → 切换悬浮窗显隐
- 右键点击图标 → 展开菜单(显示设置 / 退出)
- 悬浮窗可任意拖动,设置中可调宽高
技术
| 层面 | 实现 |
|---|---|
| CPU 采样 | host_statistics 双采样差值 |
| GPU 占用 | IOKit IOAccelerator → PerformanceStatistics |
| 内存/Swap | vm_statistics64 / sysctl vm.swapusage |
| 进程列表 | ps -eo pid,%cpu,rss,comm |
| UI | SwiftUI + AppKit NSHostingView |
| 毛玻璃 | NSVisualEffectView .hudWindow + .behindWindow |
许可
MIT