Ftop:Apple Silicon Mac 的悬浮玻璃面板系统监视器
ftop 是专为 Apple Silicon Mac 打造的原生系统监视器,用一块可任意缩放的悬浮玻璃面板显示分核占用与频率、内存压力、GPU 占用与功耗、整机功耗、温度、网络和进程列表,隐藏时 CPU 占用仅 0.0–0.1%,MIT 协议开源免费,支持 macOS 15 及以上。
一、ftop 是什么
ftop 是一款专为 Apple Silicon Mac 打造的原生系统监视器,用一块可任意缩放的浮动玻璃面板,替代你常年挂在终端标签页里的 top 类工具。
它的定位很明确:为“机器正在使劲干活”的时刻而生。本地模型在跑、AI 代理在编译、一次很长的构建正在进行,你需要一眼看清各个核心、内存和网络在做什么,以及是哪个应用在占用。
和传统监视工具相比,ftop 做了两处取舍。
第一,它只显示当前状态。没有历史曲线,没有磁盘面板,界面里几乎没有需要阅读的文字,颜色和圆标就是全部语言。
第二,它把“面板”本身当成产品。拖动任何一条边或一个角,指针一靠近就会变成调整大小的光标,ftop 随即选出合适的布局贴合过去。小窗口只留要点,大窗口显示更多内容,而不是把字放大,所以内容不会被裁掉,也不会留空白。
需要说明一段来历:ftop 最初是 btop 的一个分支,之后从头重写,与它不共享任何代码。所以它看起来像“桌面版的 top”,实际是一套独立实现的 macOS 原生应用。

二、产品功能
ftop 的读数组织方式统一,每个数字前面都是同一种小圆标,带圆弧的圆标是一个量表,颜色说明它属于哪一类硬件。
1. 核心(Cores)
每个核心一根柱子,芯片有几种核心就分几组,最快的在前。柱子高度是占用,小横线是该核心当前的频率。这一栏的特别之处在于它把性能核与能效核分组呈现,M 系列芯片的大小核结构一眼可辨。
2. 内存(Memory)
显示已用与总量、压缩内存、交换分区,以及系统自己给出的内存压力等级。macOS 的内存管理靠压缩和交换运作,只看“已用百分比”容易误判,压力等级这一项比单纯的占用数字更有参考价值。
3. 网络(Network)
当前的下载与上传速度,实时刷新。
4. GPU
GPU 在核心旁边有自己的一根柱子。这里有个细节值得说明:柱子高度是按频率折算的占用,而不是单纯的忙碌时间,所以 GPU 在最低频率下空转时读数很低,更贴近真实负载。小横线是当前频率,下方是已用显存和 GPU 功耗,鼠标悬停可看温度。
5. 功耗(Power)
整机功耗,单位瓦。
6. 温度(Temperature)
只有一个数字,并标明它实际来自哪一级传感器,不做模糊处理。
7. 进程(Processes)
最忙的应用,带各自的应用图标,帮助进程(helper)会并到所属应用里,不会出现一堆同名进程刷屏。这里也有一个容易误读的点:应用的 CPU 是占整台机器的比例,和上方总占用同一单位,所以永远不会超过 100%,这与活动监视器“以单个核心为 100%”的口径不同。
有一条贯穿全局的设计原则:硬件不提供的读数显示为“不可用”,绝不显示成 0。这一点在后面的限制部分还会再提到。
三、特色优势
优势一:面板尺寸自适应布局
拖动边缘或角落即可缩放,ftop 自动切换布局。小尺寸保留要点,大尺寸增加信息维度。大窗口里会出现两个圆标,可在“按 CPU 排序”和“按内存排序”之间切换,这一功能在小窗口里是隐藏的。
优势二:动画跟着读数走,不是每秒跳一下
每个核心的柱子平滑地移到新值,并在下一次读数到来时到位,面板是连续在动的。进程列表也有阻尼:一个应用变忙就立刻到位,安静下来后慢慢退下;两个应用只差一个点交替领先时不会来回换位;越过相邻一行的行滑过去,走得更远的行在原地翻转,不会有行横穿整个列表。在 macOS 打开“减弱动态效果”后,这些动作统一降级为淡入淡出。
优势三:不看的时候几乎不花资源
隐藏或被完全遮住时,ftop 停止读取除菜单栏读数以外的一切。官方用 scripts/perf.sh 在 14 核 Apple Silicon Mac 上、每秒更新一次的条件下测得:
| 状态 | CPU 占用 | 内存占用 |
|---|---|---|
| 小尺寸与中等尺寸面板 | 低于单核的 0.8% | 低于 30 MB |
| 最大面板(32 行进程) | 约 0.9% | 约 52 MB |
| 隐藏或被完全遮住 | 0.0–0.1% | 同上 |
授权读取系统进程后,列出进程的辅助程序另占约 0.5%。这个量级意味着它可以长期常驻桌面,而不必担心它成为新的负担。
优势四:菜单栏可并排三项读数
菜单栏默认显示 CPU(图标加数字),最多可并排放三项:CPU、内存、GPU、下载、上传、功耗中的任意三个。点一下菜单栏图标即可显示或隐藏面板。
优势五:设置是一块开关面板,也是一个纯文本文件
右键面板或菜单栏读数,所有设置集中在一块里:显示哪些内容、面板行为、配色。同一份设置同时是 ~/.config/ftop/config.json5(可写注释的 JSON),图形界面与文件两边保持同步,保存后立即生效。
优势六:自动更新,且可以彻底断网
ftop 每天检查一次新版本并自动安装:从仓库下载发布包、校验、替换 Ftop.app、重开面板。更新策略可在更多 → 更新里改成“仅提示”或“不检查”,选“不检查”后 ftop 完全不联网。
四、使用方法
1. 环境要求
Apple Silicon Mac,macOS 15 或更新。Intel 机型不在支持范围内,因为核心分组与每核频率依赖 Apple Silicon 的硬件特性。
2. 安装(发布包)
在发布页 https://github.com/Nongfsq/ftop/releases/latest 下载 Ftop-<版本>-arm64.zip,解压后把 Ftop.app 移到 ~/Applications,再把命令链接到 PATH 里的某个目录:
mkdir -p ~/.local/bin && ln -sfn ~/Applications/Ftop.app/Contents/MacOS/ftop ~/.local/bin/ftop
从 0.2.6 起,应用已用 Developer ID 签名并通过苹果公证,下载后可以像普通应用一样直接打开,不需要额外绕过系统提示。
3. 安装(源码构建)
需要 Xcode(项目使用 Xcode 27 构建与测试):
git clone https://github.com/Nongfsq/ftop.git cd ftop && scripts/bundle.sh && scripts/install.sh
同样会生成 ~/Applications/Ftop.app,并把 ftop 链接进 ~/.local/bin。
补充一句:如果你还在用 0.1.0,那一版不会自己更新,需要按上面的步骤手动装一次最新版;从 0.1.1 起才具备自动更新能力。
4. 命令行
ftop # 打开面板 ftop toggle # 隐藏或显示 ftop quit # 关闭 ftop doctor # 这台 Mac 上哪些读数可用,不可用的原因是什么
ftop update 立即检查更新,ftop version 显示已安装版本。
5. 面板操作
拖动面板移动位置,拖动边缘或角落改变大小(设置里的“调整大小”开关可关掉这个光标提示)。
指针移到面板顶部,会出现两个按钮:置顶、隐藏。
悬停在某个核心、内存条或 GPU 上看详细数值;点击一个进程,该行会在指针下微微凹下,旁边浮出卡片,显示这个应用的 CPU、内存以及它内部的帮助进程。
右键打开设置。
6. 让系统进程也出现在列表里
默认情况下,macOS 只允许 ftop 看到你自己的进程,所以 WindowServer 这类系统进程不会出现。授权一次即可:
sudo ftop grant
该命令会把应用内一个小辅助程序标记为以 root 身份运行。这个辅助程序不接受参数、不读环境变量、不写文件,只输出进程表,源码在 Sources/ftop-helper/main.swift,可自行审阅。需要注意:自动更新不会改动这个辅助程序,若新版本需要更新版 helper,ftop doctor 会给出提示,重新授权即可。
五、适合人群
| 人群 | 典型场景 | ftop 能解决什么 |
|---|---|---|
| 本地跑大模型的用户 | llama.cpp、Ollama 等本地推理,多核满载、GPU 与内存压力同时上升 | 分核占用看清大小核调度,GPU 功耗与显存同屏,判断瓶颈在算力还是显存 |
| 开发者与构建密集型工作 | AI 代理编译、前端长构建、容器构建 | 进程列表按应用合并助手进程,能直接看出是哪个 app 在吃满 CPU |
| 视频剪辑与图形渲染用户 | 导出、渲染、DaVinci/Premiere 满载阶段 | GPU 按频率折算的占用更贴近真实负载,整机功耗与温度同步可见 |
| 新入手 Apple Silicon 的用户 | 想搞懂 M 系列大小核、统一内存如何工作 | 性能核/能效核分组呈现,内存压缩、交换与压力等级一屏读完 |
| 需要长期常驻桌面监控的人 | 全天开着面板,偶尔瞥一眼 | 隐藏或遮挡时降到 0.0–0.1% CPU,不会成为负担 |
| 终端重度用户 | 原来常驻 btop/htop,但不想一直占着一个标签页 |
换成原生窗口,可置顶、可缩放,同时保留 ftop 命令 |
不太适合的情况:需要历史曲线做长期趋势分析、需要磁盘读写面板、使用 Intel Mac、或需要按单核 100% 口径对照活动监视器数据的用户。
六、竞品对比
| 维度 | ftop | btop | Stats | asitop |
|---|---|---|---|---|
| 界面形态 | 原生 macOS 悬浮玻璃窗口 + 菜单栏 | 终端全屏 TUI | macOS 菜单栏模块 + 下拉详情 | 命令行 TUI |
| 运行平台 | 仅 Apple Silicon,macOS 15+ | 跨平台(Linux、macOS、BSD 等) | macOS(Intel 与 Apple Silicon) | Apple Silicon macOS |
| 核心监控维度 | 分核占用与每核频率、内存压缩/交换/压力、GPU 占用/显存/功耗/温度、整机功耗、温度、网络、进程 | 分核占用、内存、磁盘、网络、进程树 | CPU、GPU、内存、磁盘、网络、电池、风扇、传感器、蓝牙、时钟等模块 | CPU/GPU/ANE 利用率与功耗、频率 |
| 数据呈现 | 只显示当前状态,无历史曲线 | 含滚动图表与主题配色 | 以菜单栏常驻读数为入口,点开模块看详情 | 终端内实时曲线 |
| 进程视角 | 助手进程按所属应用合并,CPU 为整机占比,点击出详情卡片 | 进程树结构,支持终止进程等操作 | 侧重系统整体指标,非逐进程分析 | 侧重芯片级功耗与利用率,不做应用归因 |
| 使用门槛 |
图形界面开关为主,ftop grant 可选授权 | 需要在终端内操作,快捷键驱动 | 需逐模块开启与配置 | 依赖 Python 环境,运行需 sudo(底层用 powermetrics) |
| 主要定位 | 桌面常驻的轻量“第二块仪表盘” | 终端里的全能资源与进程管理台 | 菜单栏里的系统状态全家桶 | 芯片功耗与算力的深度观测 |
从这张表能看出三者的分化:btop 强在终端内的完整度与进程管理,Stats 强在菜单栏模块的覆盖面,asitop 强在芯片级功耗指标的深度。ftop 走的是另一条路,把“看一眼”这件事做成一块常驻的、几乎不耗资源的面板,代价是放弃历史数据与磁盘面板。
顺带一句,asitop 与 ftop 的一点差别值得留意:asitop 读取数据依赖 macOS 自带的 powermetrics,因此需要 sudo 常驻运行;ftop 只在需要看系统进程时才做一次授权,日常图形界面运行不需要。
七、收费价格
ftop 完全免费,开源,采用 MIT 许可证。没有订阅、没有内购、没有功能解锁分级,也没有需要付费激活的授权码。
分发渠道是 GitHub Releases,下载即用。由于依赖 macOS 的私有接口读取每核频率与温度,ftop 无法上架 Mac App Store,这也是它不通过应用商店分发的原因,并非产品保留了付费版本。
开发者在仓库里提供了一个自愿赞助入口(Buy Me a Coffee)。赞助属于支持作者的性质,不影响任何功能,不赞助也能用完整版本。
八、常见问题解答
Q:ftop 支持 Intel 芯片的 Mac 吗?
A:不支持。ftop 只面向 Apple Silicon,核心分组和每核频率的读取都依赖 Apple Silicon 的硬件特性。Intel 机型建议用 btop 或 Stats。
Q:为什么某些读数显示"不可用",而不是 0?
A:这是刻意设计。每核频率、温度、GPU 与功耗来自 macOS 的私有接口(IOReport、HID 传感器服务和 SMC),可能随系统更新发生变化,读不到时显示"不可用",不会用 0 假装正常,避免你被错误数据误导。可以用 ftop doctor 查询这台 Mac 上哪些读数可用、不可用的原因是什么。
Q:进程列表里为什么看不到 WindowServer 这类系统进程?
A:默认权限下 macOS 只允许 ftop 看到你自己的进程。执行一次 sudo ftop grant 后即可包含系统进程,该操作会把应用内的一个小辅助程序标记为以 root 运行,它只输出进程表,不写文件、不接受参数。若不想授权,其余读数不受影响。
Q:ftop 自己会不会很吃资源?
A:按官方实测,中小面板 CPU 占用低于单核的 0.8%、内存低于 30 MB;最大面板约 0.9% / 52 MB;隐藏或被完全遮挡时降到 0.0–0.1%。日常常驻的代价很小。
Q:能看历史曲线或者磁盘读写吗?
A:不能,这是产品定位的一部分。ftop 只显示当前状态,没有历史曲线,也没有磁盘面板。需要趋势图或磁盘 I/O 的话,btop 更合适。
Q:怎么只保留 CPU 和内存,把其他模块关掉?
A:右键面板或菜单栏读数打开设置,在同一个面板里勾选要显示的内容、调整面板行为与配色。这些设置同时对应 ~/.config/ftop/config.json5,两边保持同步,改完立即生效。
Q:它会自动更新吗,能不能完全不让它联网?
A:默认每天检查一次新版本并自动安装(下载、校验、替换 App、重开面板)。在更多 → 更新里可改成"仅提示"或"不检查",选"不检查"后 ftop 完全不联网。日常也可用 ftop update 手动检查、ftop version 查看当前版本。
Q:能装到 Mac App Store 吗?
A:不能。原因是它使用了 macOS 的私有接口读取频率与温度,这类能力不符合商店的上架要求。请从 GitHub Releases 下载发布包,0.2.6 起已签名并通过苹果公证,可直接打开。
九、总结
ftop 把系统监控从"终端里的一屏字符"变成"桌面上的一块玻璃"。
它的取舍很清楚:放弃历史曲线与磁盘面板,换来一块任何尺寸都不裁切、几乎不耗资源、可以长期置顶的面板;放弃 Intel 与跨平台,换来分核频率、GPU 按频率折算的占用、内存压力这些更贴近 M 系列芯片真实状态的读数。进程列表按应用合并助手进程、CPU 统一为整机占比,也让"到底是谁在吃资源"这个问题少了误判。
如果你手上是 Apple Silicon Mac,日常会在本地跑模型、跑构建、做渲染,或者只是想找个体面的替代品换掉常年开着的终端监视标签页,它值得装一次。装完之后执行 ftop doctor,先弄清这台机器上哪些读数可用,再决定面板上留哪几个模块,是最省事的用法。

