展示 HN:我厌倦了 btop 无法识别我 Mac 的芯片,所以我构建了 siltop
这是一个为 Apple Silicon 提供的平静、诚实的系统监视器,在你已经习惯的终端中。真实的瓦特、真实的时钟和来自每个 M1–M5 芯片的真实温度。无需 sudo,无需遥测,约占一个核心的 1.3%。屏幕截图来自 siltop --demo,一个预设的 60 秒会话(构建突发、GPU 推理、电池耗尽、温度上升),因此它们在每台 Mac 上看起来都一样。为什么要另一个监视器?btop 非常美观,但在 Mac 上它无法识别芯片:没有瓦特,没有 GPU,没有集群时钟。asitop 和 powermetrics 可以看到芯片,但需要 sudo。macmon 轻量但止步于 SoC。siltop 位于两者之间:默认情况下尽可能干净,出现问题时需求深度。siltop btop macmon asitop CPU / GPU / ANE / DRAM 瓦特 ✓ — ✓ ✓ 每个集群的时钟 (E / P / 超级核心) ✓ — ✓ ✓ 温度和风扇 ✓ CPU 温度 温度 — 每过程能量和 GPU ✓ — — — 完整的进程管理器(树、信号、过滤)✓ ✓ — — 无需 sudo 运行 ✓ ✓ ✓ — 机器可读输出 JSON / NDJSON / Prometheus / CSV — JSON — 自身成本是与 btop 和 macmon 在同一台机器上逐一测量的;方法和原始数据在 docs/research/12-self-cost.md 中。亮点 真实数据来自 macOS:SMC 用于风扇、温度和系统功率,IOReport 用于 CPU 和 GPU 时钟和能量,Mach 和 sysctl 用于 CPU、内存和进程。无 ps,无 powermetrics,无抓取。Mac 不提供的读数显示为缺失,而不是虚构的 0。无风扇的 Air 不显示风扇,桌面不显示电池,内核无法描述的进程显示为 — 。一行判断(所有正常,忙:rustc 使用 9.1 核心,热:风扇以 80% 运行)及其背后的证据。速度 每 1 秒的间隔大约占一个核心的 1.3%,是在相同速率下 btop 成本的二分之一(2.5%),与 macmon(1.4%)相当,在 M5 Pro 上逐一测量。只有在发生变化时才会重新绘制,暂停(p)会完全停止采样。一个约 3 MB 的原生二进制文件,使用 Rust 编写。瞬间启动。美观 在一个共享的、线性时间时钟上有盲文图表,因此每个面板对齐;z 缩放时间。主题基于你终端的调色板,能够在半透明和模糊的窗口上可读。有十种内置主题以及一套主题包,btop 主题导入,以及 256 色、16 色和 NO_COLOR 备用方案。两个表面:Work 用于挖掘,Glance 用于小的常开窗口。布局从 80×24 适应。1-5 上有五个预置和一个 Zen 模式(Z),仅保留图表。控制 一个带有实时过滤的进程表,可按任意列排序,树状、应用分组以及带有信号选择器、renice 和后台 QoS 的详细卡。pid 自你选择后被重用则拒绝杀死。完全的鼠标支持,htop 和 btop 键盘配置,易于搜索的设置页面,以及一个保留注释的配置文件。超越仪表板 --json / --json-stream 用于脚本和状态栏,siltop line 用于 tmux 和 SketchyBar,带有 shell 钩子的警报,带有报告的时间线,会话记录/回放,Prometheus 端点,持续性能基准和多 Mac 车队视图。安装 需要在 Apple Silicon 上运行 macOS。Homebrew brew install cloaky233/tap/siltop 预构建的二进制文件(curl 下载不经过隔离,因此可以立即运行) mkdir -p ~/.local/bin && curl -fsSL https://github.com/CLoaKY233/siltop/releases/download/v1.2.1/siltop-v1.2.1-macos-arm64.tar.gz | tar -xz --strip-components 1 -C ~/.local/bin siltop-v1.2.1-macos-arm64/siltop 确保 ~/.local/bin 在你的 PATH 中。 siltop update --yes 保持此副本为最新。每个发布也都有 .zip 和 SHA-256 文件。使用浏览器下载的副本会被 macOS 隔离,并在首次运行时被阻止,因为它未经过公证。在运行之前清除此项:xattr -d com.apple.quarantine siltop。 从源代码安装(Rust 1.98 或更新版本) cargo install --git https://github.com/CLoaKY233/siltop --tag v1.2.1 siltop --locked 然后运行 siltop。如果你只是想浏览,请先尝试 siltop --demo。用法 siltop # 仪表板 siltop --demo # 预设的 60 秒会话,不需要硬件 siltop -i 1s --theme paper # 每秒取样,纸张主题 siltop --surface glance --no-mouse # 紧凑表面 siltop --json | jq .cpu.clusters # 一个 JSON 示例(架构 1) siltop --json-stream --count 3 -i 500 # NDJSON,每个时间间隔一行 siltop --diagnose #
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡