Mac 菜单栏里的系统监视器
更新于 · 作者 Anton Shakirov
风扇吵起来了,你想知道为什么。hop 把负载、温度、内存、网络、磁盘和电池放进菜单栏的一块面板里,并且一直安静,直到其中一项越过你自己定下的正常范围。这些数字里有一部分 macOS 是免费给的;温度它一个也不给——这一页会老实说清楚哪个是哪个。

| what it is | system monitor inside hop, a menu bar app for macOS |
|---|---|
| price | free — no trial, no pro tier, no account |
| licence | MIT, source on GitHub |
| requires | macOS 14 or later, Apple silicon or Intel |
| works offline | yes |
| data sent anywhere | none |
菜单栏里的系统监视器都盯着什么
- cpu 和 gpu 的负载,旁边就是它们的温度
- 内存,连同已经被挤到磁盘上的那一部分
- 网络:下载和上传
- 磁盘活动
- 电池健康、循环次数和当前的耗电瓦数
- 运行时长
每一行都是实时的,带最近一小时的小图,°C 或 °F 随你,颜色阈值也由你自己定。
不装监视器,你的 Mac 本来就会显示什么
「活动监视器」是一扇窗口,不是菜单栏上的读数
负载、内存、能耗、磁盘和网络,全都在「活动监视器」里,免费,每台 Mac 上都有;只问一次的问题,它就是答案。它只差一件事:它是一扇你打开、看一眼、再关掉的窗口,而一个要你专门去取的数字,往往是在机器已经慢了一个小时之后才被取回来的。
它也能往程序坞里放一张实时图:「显示」→「程序坞图标」可以选「显示 CPU 使用率」「显示 CPU 历史记录」「显示网络使用率」或「显示硬盘活动」,一次只能选一个,而且是在你最不会去看的那个角落。
每个标签页到底在量什么,来自 Apple,而不是某篇凑数的清单文(英文页面): 在「活动监视器」中查看 CPU 活动 — Apple 支持
人们互相抄的那些温度命令,这里根本不存在
在 Apple silicon 的 macOS 26.6.2 上,`powermetrics --samplers smc` 的回答是 `unrecognized sampler: smc`。不是采样器返回了空——参数解析在任何东西跑起来之前就把它拒了,加 sudo 也改不了这一点。
`powermetrics --help` 里列出的受支持项是 `tasks, battery, network, disk, interrupts, cpu_power, thermal, sfi, gpu_power, ane_power`。里面没有温度采样器,而 `thermal` 的说明是「thermal pressure notifications」——那是等级,不是度数。`sysctl -a | grep -c -i therm` 返回 0 个键,`ioreg` 会列出 ssd 的温度传感器节点,却不交出任何数值。
于是那个多数页面绕开的简短答案是:在 M 系列芯片的 Mac 上,没有任何受支持的命令能打印出 cpu 或 gpu 的温度,因为那些配方当初是照着 Intel 写的。
macOS 确实免费给的那一个散热答案
`notifyutil -g com.apple.system.thermalpressurelevel` 会立刻打印出一个等级,不用 sudo,也不用装任何东西。这和应用拿到的是同一个信号,它回答的是「我现在是不是热到吃紧了」,而搜索结果里几乎没人提它。
另外两条,算作补全。`pmset -g therm` 是有的,但在空闲的 M 系列机器上会连着三次回答「not recorded」——它是在散热事件之后才填上,而不是之前。而系统真正公布的唯一温度是电池的:`ioreg -rc AppleSmartBattery | grep Temperature` 在这里给出 3091,也就是 30.91 °C。
同一个信号在应用那一侧收到的样子——这也是为什么没有哪个应用能给你比它更「真」的数字(英文页面): ProcessInfo.ThermalState — Apple Developer
以及整个行业当初为什么从度数转向压力等级,如果你想看这里面的道理(英文页面): Apple silicon 上的电源与散热管理
那你到底需不需要一个系统监视器
只问一次的问题——这一分钟是谁在吃 cpu、内存还剩多少——「活动监视器」加一行终端命令就够了,什么都不用装,而且这类情况占了大多数。
简单的情况在三个点上到头:你要的是度数,而不是一个吃紧等级;你问的是「这是不是一直在涨」,而不是「现在是多少」;以及你希望被告知,而不是自己去问。这三样 macOS 一个都不回答——这一类应用之所以存在,原因全在这里。
hop 的监视器怎么读温度和负载
hop 把 cpu 和 gpu 的负载连同它们的温度一起放在面板里,旁边是内存和交换、网络、磁盘、电池健康与循环、电源和运行时长。发烫的芯片和忙碌的芯片并排放着,于是它们能被分清,而不是靠猜。
每一行都带着最近一小时的曲线,而这正是把一个数字变成一个诊断的地方:风扇两分钟前转了起来,图会告诉你那是导出刚刚结束,还是从午饭起就一直在爬。
| 你想知道的事 | 系统自带的办法 | 用 hop |
|---|---|---|
| 我现在是不是热到吃紧了 | notifyutil,一行,免费 | 只为这一件事用不上——去用那条命令 |
| cpu 和 gpu 到底多少度 | 没有:没有命令,加 sudo 也没有,ioreg 也不给值 | 以度数显示,就在负载旁边 |
| 是在往上爬,还是刚才那一下 | 自带的工具一个都没有历史 | 每一行都带最近一小时的曲线 |
| 有多少内存悄悄挪到了磁盘上 | vm_stat 和 sysctl,前提是你认得那些字段 | 有一行会自己开口 |
| 不用我问就告诉我 | 没有什么会替你留意 | 菜单栏图标本身带着警告 |
| 这台机器什么算正常 | 哪儿都没有阈值可设 | 你一行一行地自己定 |
第一行是诚实的那一行:问题如果只是「是」或「不是」,那条命令就能了结,什么也不用装。它下面几行才是自带的路子什么都没有的地方,而第二行并不是「更难」——它是根本没有。
网络那一行回答「是我还是线路」只能回答到一半,隔壁的模块把剩下的一半接了过去: Mac 上的网速测试
每一行显示什么、颜色是什么意思、阈值和图表在哪里设——手册那一侧,中文的: 说明书里的系统监视器
安静,直到某个数值越过你定的范围
一个时时刻刻摆着八个数字的监视器,一周之后就没人再读了。它变成了壁纸,而你还是和所有人一样,靠风扇的声音知道机器过热。
所以数值平时保持安静,只在离开正常范围时才亮起来,而警告可以落在菜单栏图标本身上——在那里,你不用打开任何东西就看得见。
什么算正常由你来定。一台整天渲染视频的机器,阈值和一台用来写邮件的不一样;在前一台上整天闪红的监视器,比没有监视器更糟。
菜单栏上的监视器会不会让 Mac 变慢
一个在自己的读数里现身的监视器,等于把它唯一要做的事做砸了。hop 不出现在自己的图里:读数来自 macOS,而不是去轮询硬件,而且只在这个标签页打开时才取,不是全天候。
内存那一行,和提前到来的警告
macOS 会报告内存压力,这个数字不错,只是当你的 Mac 正悄悄把好几 GB 挪到磁盘上时,它仍然是绿的。等压力转黄,一切早就已经慢了一阵子了。
第二个坑很容易踩:那个带颜色的等级只存在于「活动监视器」的窗口里。在终端里跑 `/usr/bin/memory_pressure`,打印出来的是一堆计数和一行空闲百分比,绿、黄、红一个都没有——所以「从命令行看一下」这句建议,试一次就站不住了。
hop 的内存行是在挪到磁盘上的量很大时就提醒,而不是等系统说内存不够才提醒。一台内存看起来还很富裕却发滞的 Mac,通常真正的原因就在这里。
Apple 自己对内存标签页的说明讲了它统计什么,却一次也没提那些颜色(英文页面): 在「活动监视器」中查看内存使用率 — Apple 支持
菜单栏上的监视器不会替你做的事
- 它不会说出进程的名字。某一行说 cpu 到了 90 %;是哪个应用把它按在那里,要看「活动监视器」的 CPU 标签页,那才是这个问题该用的工具。
- 它不控制风扇。一台没有负载却始终高转速的 Mac,是维修的问题,不是软件的问题。
- 它不保存一周的历史。图表覆盖的是最近一小时——「刚才发生了什么」,不是「这台机器从星期二起都在干什么」。
- 它不会让发烫的 Mac 变凉。这些芯片本来就设计成跑得很热,并且会在任何东西有风险之前自己降速;单看一个高数字并不是故障。
- 它不解释磁盘空间。磁盘那一行显示的是活动,不是什么把这个宗卷塞满了。
frequently asked questions
- 它会显示 cpu 温度吗?
- 会,就在 cpu 负载旁边,gpu 也一样。macOS 自己在任何地方都不提供这个——「活动监视器」里没有,「系统信息」里没有,任何受支持的命令也没有。
- powermetrics 命令为什么不显示温度?
- 因为它要的那个采样器在 Apple silicon 上不存在。`powermetrics --samplers smc` 的回答是「unrecognized sampler: smc」,而受支持的采样器列表里根本没有温度。那些配方是给 Intel 的 Mac 写的。
- 有没有免费的办法判断我的 Mac 是不是过热了?
- 有,只有一个:`notifyutil -g com.apple.system.thermalpressurelevel` 不用 sudo 就会打印出当前的热压力等级。它告诉你系统是不是吃紧——不告诉你多少度,也不告诉你十分钟前是什么样。
- 不打开面板,它能提醒我吗?
- 能。警告可以落在菜单栏图标本身上,于是你一眼就看见,而不是要记得去看。
- 我能自己决定什么算正常吗?
- 能,阈值是你的,一行一个。一台整天渲染的机器,不该整天闪红。
- 它显示电池健康吗?
- 显示:健康、循环次数和当前的耗电瓦数,旁边还有运行时长。
- 监控会让 Mac 变慢吗?
- 它就是照着不变慢做的。读数来自 macOS,而不是去轮询硬件,并且只在标签页打开时才取。一个出现在自己图表里的监视器,本身就是个糟糕的监视器。
other tools in hop
- app launcherthe apps you open all day, one click away.
- text recognitionpull text off anything on screen — a video in Chrome or VLC, a locked pdf, another app's window.
- archiveszip, rar, 7z and the rest — unpacked right where you are looking.
关于作者

Anton Shakirov开发 hop
开发 hop,也编写本站的每一页。十九个工具收在一个菜单栏图标下,MIT 许可,源码公开。issue 和邮件都由他本人阅读和回复。