Mac 菜单栏里的系统监视器

更新于 · 作者

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

macOS 菜单栏中的 hop 面板:system monitor
system monitor in hop at a glance
what it issystem monitor inside hop, a menu bar app for macOS
pricefree — no trial, no pro tier, no account
licenceMIT, source on GitHub
requiresmacOS 14 or later, Apple silicon or Intel
works offlineyes
data sent anywherenone
download hopfree · macOS 14+ · Apple silicon and Intel

菜单栏里的系统监视器都盯着什么

  • 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 上的网速测试

每一行显示什么、颜色是什么意思、阈值和图表在哪里设——手册那一侧,中文的: 说明书里的系统监视器

download hopfree · macOS 14+ · Apple silicon and Intel

安静,直到某个数值越过你定的范围

一个时时刻刻摆着八个数字的监视器,一周之后就没人再读了。它变成了壁纸,而你还是和所有人一样,靠风扇的声音知道机器过热。

所以数值平时保持安静,只在离开正常范围时才亮起来,而警告可以落在菜单栏图标本身上——在那里,你不用打开任何东西就看得见。

什么算正常由你来定。一台整天渲染视频的机器,阈值和一台用来写邮件的不一样;在前一台上整天闪红的监视器,比没有监视器更糟。

菜单栏上的监视器会不会让 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.

关于作者

hop 的作者 Anton Shakirov

开发 hop

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

download hopfree · macOS 14+ · Apple silicon and Intel