ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

免 sudo 的 Apple Silicon 系统监控:SiliconScope 让神经引擎与内存带宽一目了然

免 sudo 的 Apple Silicon 系统监控:SiliconScope 让神经引擎与内存带宽一目了然

【免费下载链接】SiliconScope

Sudoless Apple Silicon system monitor (native SwiftUI GUI) with ANE / Media Engine / memory-bandwidth tracking

项目地址:https://gitcode.com/gh_mirrors/si/SiliconScope
点击查看免费下载

SiliconScope是一款免 sudo 的 Apple Silicon 系统监控工具,基于原生 SwiftUI 打造,核心亮点是能直接监控活动监视器看不到的三大指标:ANE(Neural Engine 神经引擎)活跃度、Media Engine 与内存带宽(GB/s)。它同时提供仪表盘和菜单栏套件,还支持进程级 Inspector、录制回放(Replay)以及跨机器的 Fleet 远程监控,全程无需 root 权限。

为什么 Apple Silicon 用户需要专门的系统监控?

🤔 在 M 系列芯片上跑本地大模型、AI 视频转码或 Core ML 任务时,你一定会遇到这样的困惑:

  • btop界面漂亮、信息密集,却对 ANE、Media Engine、内存带宽完全"失明";
  • asitop / NeoAsitop有芯片级数据,但 TUI 粗糙、细节有限;
  • 自带活动监视器则干脆没有这些维度。

SiliconScope 就是为补上这个缺口而生——一个普通用户也能读懂的、漂亮的原生 GUI。它的 AI Workload 视图还会自动给出瓶颈判定:bandwidth-bound(带宽受限)/ compute-bound(算力受限)/ thermal-throttled(热降频)/ memory-pressured(内存压力),直接回答"我的本地 LLM 现在卡在哪里"。

免 sudo 的原理:数据从哪来?

很多芯片级监控工具要求管理员权限,SiliconScope 不需要。它的数据来源包括:

数据来源
功耗(CPU/GPU/ANE/DRAM)、驻留时间、内存带宽私有IOReport框架(运行时解析符号,无需 root)
CPU 使用率host_processor_info采样(与活动监视器一致)
分核温度按 M1–M5 各代整理的SMC温度键 + HID 回退
电池健康 / 循环次数IOPowerSources +AppleSmartBattery

其中 ANE 活跃度是实测而非估算:读取SoC Stats › Cluster Power States中每个 ANE 集群的活跃时长占比。详细的通道映射表见官方文档 docs/ioreport-channels.md,显示规范见 docs/display-spec.md。

⚠️ 因为它使用了未授权的私有 API,SiliconScope 无法上架 Mac App Store,采用 Developer ID 签名 + Apple 公证的直接分发方式——首次打开不会有 Gatekeeper 拦截提示。

快速安装:一条命令搞定

Homebrew 一键安装(要求 macOS 14+ / Apple Silicon):

brew install --cask siliconscope

或者从 Release 下载 DMG,拖入 Applications 即可。应用内置 Sparkle 自动更新,这是你唯一一次需要手动下载。

偏好自己编译?可以 clone 仓库后用 Swift Package Manager 构建:

git clone https://gitcode.com/gh_mirrors/si/SiliconScope cd SiliconScope xcrun swift run SiliconScope

构建脚本与打包流程可参考 Package.swift 和 scripts/package.sh,贡献指南见 CONTRIBUTING.md。

主仪表盘:一块芯片的全景图

仪表盘一屏覆盖了日常所需的全部维度:

  • AI Workload:当前工作负载判定(如 ANE + CoreML),以及带宽是否接近芯片上限;
  • CPU:E-Core / P-Core 分核利用率 + 真实 DVFS 频率(按驻留时间加权,不是标称最大值);
  • GPU / Media / Neural Engine:三者功耗、频率与活跃度同屏显示;
  • Memory & Bandwidth:内存分区(Wired / Active / Compressed / Free)+ CPU / GPU / Media / ANE / 总计各通道的 GB/s;
  • Sensors:E-Core、P-Core、GPU、Memory 逐单元温度 + 风扇转速 + GPU 降频检测;
  • Processes:支持排序、过滤、结束进程,点击任意进程即可打开 Inspector。

进程 Inspector:谁在占用神经引擎?

这是其他监控给不出的杀手锏。点击任意进程,你可以看到:

  • CPU(P/E 拆分)、IPC、单进程功耗(W)、内存、磁盘 IO,均带实时曲线;
  • Neural-Engine memory(神经引擎内存占用)——Apple 公开暴露的唯一进程级 ANE 信号,能精确看出哪个 App 跑在 ANE 上、占了多少;
  • 系统级指标(GPU / ANE 功耗 / 媒体引擎 / 带宽)会明确标注"system-wide",绝不伪造进程级数字。

所有数据来自公开的proc_pid_rusage(pid, RUSAGE_INFO_V6, …)接口,自有进程连 entitlement 都不需要。

菜单栏监控:像 iStat Menus 一样自由

CPU、GPU、Memory、Network、SSD、Sensors、Battery——每一项都可以单独固定到菜单栏,且每项可自选样式(柱状 / 历史曲线 / 双行文本 / 单值 / 图标)。下面这个GPU / Media / Neural下拉面板同时展示 GPU 显存、ANE、Media 的实时仪表和 60 秒趋势:

相关实现代码位于 Sources/SiliconScope/MenuBarView.swift 与 Sources/SiliconScope/MenuBarItemsSettings.swift。

Fleet:把别的机器也拉进同一块仪表盘

除了本机,v4.0 引入的Fleet功能让远程 Mac mini、Linux GPU 工作站、云主机都能接入同一个界面。远程 Mac 渲染出的就是与本地完全一致的仪表盘——包括神经引擎,据作者所知没有其他工具能做到这一点。

  • 局域网内的机器通过 mDNS自动发现,无需配置 IP;
  • 连接全程TLS 加密 + 令牌配对,查看端首次连接即固定 agent 证书;
  • agent 是只读的,只报告指标、不暴露任何控制端点;
  • 窗口不在屏幕上时自动停止轮询,不浪费网络和电量。

完整操作手册见 docs/fleet.md,Linux agent 源码在 agent/,安装脚本为 scripts/install-agent.sh。

其他值得一提的功能

  • ⏺Record & Replay:一键录制全部指标为.ssrec文件,之后可以像 DVR 一样回放、拖拽时间轴、变速播放,专治"回头看时尖峰已经消失";
  • ⚡按需 Benchmark:对本地模型跑一次短生成,测得 tok/s 与 tok/Wh(能效),按模型存档;
  • 🔋电池详情:健康度、循环次数、电池状态。

小结

SiliconScope 证明了"免 sudo"和"芯片级深度"并不矛盾:靠运行时解析 IOReport、按代整理 SMC 温度键、用公开 rusage 接口做进程级统计,它把 ANE、Media Engine 和内存带宽这三类 Apple Silicon 专属信号送到了普通用户眼前。如果你正在 M 系列 Mac 上跑本地 AI,又想知道它到底跑在哪个引擎上、瓶颈在哪里,SiliconScope 值得装一个试试。

📁项目核心资料

  • 主文档:README.md
  • IOReport 通道映射:docs/ioreport-channels.md
  • 显示规范:docs/display-spec.md
  • Fleet 使用手册:docs/fleet.md
  • 核心采样层源码:Sources/SiliconScopeCore/
  • Linux/Windows agent 源码:agent/

【免费下载链接】SiliconScope

Sudoless Apple Silicon system monitor (native SwiftUI GUI) with ANE / Media Engine / memory-bandwidth tracking

项目地址:https://gitcode.com/gh_mirrors/si/SiliconScope
点击查看免费下载

相关推荐

上一篇:IBM 发布 Granite 4.0 语言模型系列,granite-4.0-micro 引领轻量级 AI 助手新范式
下一篇:bk-cmdb 批量创建被引用模型实例接口(batch_create_quoted_inst)详解

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表