Pinned Pinned  Mac App Store
Pinned 应用图标:一个白色下载箭头旁边是一个琥珀色上传箭头。

你的真实速度, 上传 和下载,尽在菜单栏。

Pinned 读取你的 Mac 已经保存的字节计数器,将其转化为实时的下载和上传读数,显示在实际承载流量的连接上。打开面板后,它还会指出是哪个应用在占用流量,按你的真实账单周期核算流量上限,并测量连接在高负载下是否依然稳定。

在 Mac App Store 下载

免费。需要 macOS 13 或更高版本,支持 Apple 芯片和 Intel。Pinned Pro 为 USD 4.99/年 ,菜单栏读数永久免费,不会过期。

其他菜单栏监控工具测量十项数据,然后给你一个仪表盘。 Pinned 完整回答四个问题: 多快、是哪个应用、这个周期用了多少,以及连接是否可用。

图 1  /  读数

22 pt 高的菜单栏

状态栏项目以保证的固定宽度绘制。经过测量,从 0 B/s 到 1.4 Gbps 都完全一致,因此它从不抖动,也从不把旁边的项目沿菜单栏推开。

1 s
速率的采样间隔,附带计时器容差,以便唤醒可以合并
64 位
内核字节计数器,因此在高速连接下不会溢出回绕、给出错误数据
0
为监测吞吐量或归因到具体应用而打开的套接字。只有响应速度测试会发送流量,而且只在你按下按钮时才会发送
0.3–0.4%
面板关闭时的 CPU 占用,基于 Apple 芯片测得

读数,由部件组成

十三项读数。选哪些、按什么顺序,由你决定。

大多数菜单栏监控工具只给你一个固定读数,或者一整面墙的东西。Pinned 由模块拼装:想要的加进来,拖成你要的顺序,其余的留在外面。

每个模块都会预留 固定数量的字符列,所以当数字是 0 B/s 时与 1.4 Gbps时完全一样宽。你添加什么都不会让菜单栏跳动。

两行或一行,加上三种密度,菜单栏拥挤时,同样的读数可以只占一半宽度。

十三项全部永久免费。 Pinned Pro 是各应用带宽、流量上限、提醒、响应速度测试和用量历史,而不是读数。

读数背后的面板不只显示网络,也显示这台 Mac:处理器、内存、存储、电池、运行时间和天气,每一项都带着数字背后的那句话。

连接

下载
这一秒到达的字节,来自内核自己的计数器。
上传
离开的字节。解释通话为何卡住的那个数字。
合计
两个方向合成一个数字,给最窄的菜单栏。

它到底好不好

延迟
到你所选主机的往返。打开之前一直关闭。
丢包率
那些探测包中一去不回的占比。

你已经用掉多少

本次会话
自应用启动以来,或自你上次重置以来的统计。
本期
按你真实的账单周期计算,而不是按日历月份。

这台 Mac

处理器
忙碌占比,后面跟着一分钟的平均负载。
内存
已用占总量的比例,按内核自己的压力级别着色。
存储
剩余空间,算上 macOS 可以按需释放的部分。
电池
电量,以及 macOS 愿意给出估算时的剩余时间。
运行时间
这台 Mac 距上次启动过了多久。

外面

天气
你所在位置的气温,来自 MET Norway 的开放数据。默认关闭,不需要账户,不需要 API 密钥,发送的位置会精确到约一公里。

七款主题

选一次,整体外观就定下来了。

一款主题同时决定读数和面板:字形、字重、布局和颜色。它写入的每一项设置,之后仍可以手动更改。

原生 macOS系统自身的材质
1.2 MB/s340 KB/s
信号先看方向,再看数字
1.2 MB/s340 KB/s
极简一个数字,安静的字体
1.2  340
迷你趋势图最近一分钟的走势
1.2  340
高对比度始终最强,从不变暗
1.2 MB/s340 KB/s
终端荧光绿与琥珀色
D1.2 MB/sU340 KB/s
网络控制台颜色代表状态
1.2 MB/s  340 KB/s

上面的条带是在页面里绘制的。App Store 的截图展示的是同样这七款,由应用本身绘制。

它测量什么

它统计已经发生的流量,而不会主动去获取任何数据。

macOS 会为你 Mac 上的每个网络接口维护一个持续累计的字节计数。Pinned 每秒向内核请求一次这份列表,通过 sysctl(NET_RT_IFLIST2),并报告一次读数与下一次读数之间的差值。这个差值就是你的速度。整个测量就是这样。

这些特定的计数器是 64 位。更容易调用的接口返回的是 32 位计数器,每 4.29 GB 就会回绕一次。在高速连接上,这可能只需几分钟,每次回绕都会在屏幕上表现为一次毫无意义的峰值。

Pinned 为此不会打开任何自己的套接字。 没有探测包,没有测试文件,另一端没有服务器,不会给它正在描述的流量本身增加任何负担。

它读取哪个接口,取决于系统的默认路由,并在每一次刷新时重新核对。拔掉以太网线,读数就会切到 Wi-Fi。用手机共享网络,读数就会切到手机。这里没有任何东西需要你配置,如果某个读数不可信,它会报告为零,而不是去猜测。

信号路径

1
内核计数器
每个接口的进出字节数,64 位,由 macOS 直接维护
2
每秒读取一次
sysctl(NET_RT_IFLIST2),无需提升权限
3
差值
本次读数减去上一次读数,再除以经过的时间
4
读数
在菜单栏中以固定宽度显示下载和上传

跟随默认路由

Wi-Fi 以太网 热点 VPN 隧道

各应用带宽

此刻是哪个应用在占用流量。

单独的速率数字只能告诉你有事情正在发生,却说不出是什么。Pinned 会把这个实时数字按进程拆开,让“为什么我的网络这么忙”有答案,而不是只能猜测。

图 2  /  按进程

在开发者的 Mac 上测得

  1. cloudflared 4.42 GB
  2. claude 163.1 MB
  3. node 54.6 MB
  4. mongod 52.2 MB

常见的做法是安装一个特权助理程序,把流量归因到具体进程。商业方案通常会附带一个 root LaunchDaemon:它会随你的 Mac 一起启动,无论你有没有打开菜单,它都会常驻内存。这意味着你的系统里永久多了一个以 root 权限运行的组件,换来的只是一份你偶尔瞥一眼的列表。

Pinned 不会这样做。各应用归因运行 在沙盒内部,就在应用本身里。没有特权助理程序,没有 root 守护进程,不需要管理员密码,也不会在任何时候弹出权限请求。

由此就有了它的成本模型。Pinned 按应用采样的频率为 3 秒的最低间隔,并且只在面板打开时进行。关闭面板,这项工作就会停止:经独立验证,面板关闭时子进程数为零。你不在看的功能,就不该在运行。

它的成本

权限
无。 沙盒化运行,应用之外不安装任何助理程序。
权限弹窗
安装时不需要管理员密码,也没有需要批准的权限对话框。
间隔
各应用采样之间至少间隔 3 秒。
面板打开时
采样在运行。
面板关闭时
什么都没有。 零子进程,经独立验证。
卸载
把应用拖进废纸篓即可,没有其他任何需要卸载的东西。

有两个局限值得明说。3 秒一次的轮询无法看到在两次采样之间开始又结束的传输,因此一次短暂的突发流量可能被完全漏掉。而且各应用的数字是在套接字层面采集的,因此它们的总和不会精确等于接口总量。

流量上限

按你的账单周期计算,而不是按日历月份。

“我的流量还剩多少,这个周期能不能撑到底”是网络监控工具本该回答的问题。而大多数工具都答不出来。

设置你的流量上限,并告诉 Pinned 你的运营商账单周期从哪一天开始。此后所有的统计都会按这个周期计算,比如从 12 号开始的周期会从 12 号算到下个月 11 号,这和你账单本来的算法是一致的。

那些棘手的边界情况会被妥善处理,而不是被忽略。 如果周期日设为 31 号,在 2 月会用 28 号,在 4 月会用 30 号,并在有 31 号的月份重新回到 31 号。周期绝不应该因为某个月天数不够,就悄悄跳过一整个月。

当你即将超出流量时,Pinned 会用一句话直接告诉你,而不是让你自己去算:

照这个速度,你会在 9 月 4 日星期四用完流量上限。

统计数据还会按 按网络分网络记录,这样你就能看出有多少流量走了酒店 Wi-Fi,又有多少走了手机热点,而后者往往才是真正花钱的那个。提醒会在你选定的流量上限比例触发,规则和其他所有提醒一样:持续达标加冷却时间。

周期处理

上限
你的流量额度,使用你自己选择的单位。
周期日
你运营商的月度周期从哪一天开始。1 到 31 之间。
短月份
2 月 28 日,4 月 30 日。 如果周期日超出了某个月的天数,就会取该月的最后一天。
预测
按你当前的速率,用一句话告诉你哪天会用完流量上限。
按网络
按承载流量的网络拆分统计数据。
提醒
在你选定的上限比例触发,并附带冷却时间。

响应速度

一条连接可以很快,却依然没法打好一通电话。

在空闲连接上测得的延迟几乎没有意义。真正毁掉一通视频通话的,是负载下的延迟,而要知道这个数字,唯一的办法就是让连接真的承受负载,在那种状态下测量。

你的下载数字描述的是这根水管能输送多少水。而一通电话在意的是一滴水要在队列里等多久。当一次大的传输把路由器里的缓冲区填满,每一个小数据包都得排在它后面,于是连接依然很快,通话却同时崩溃了。这就是缓冲膨胀,在这条连接上它是 53 ms 的延迟,只在连接繁忙时才会出现.

Pinned 会按需让连接饱和,在饱和状态下进行探测,并报告负载数值、空闲数值、两者之间的差距,以及每分钟往返次数。一共四个数字,而真正重要的是那个差距。

何时运行

触发方式
你按下按钮。 这是它启动的唯一方式。
计划任务
没有计划任务。它绝不会自己运行,也绝不会在后台运行。
为什么
为了得到这个数字,测试会刻意让你的连接饱和,因此这不是一个应用应该在你背后偷偷做的事。
报告内容
空闲延迟、负载延迟、缓冲膨胀和 RPM。

规格说明

它做的每一件事,以及它绝不做的事。

01
菜单栏你整天都会看到的部分
布局
一行或两行。
图标样式
箭头、三角形、圆点、字母,或者完全不显示图标。
方向
只显示下载、只显示上传,或两者都显示。
字体排版
单位显示可开可关。字号随你喜好调整。
颜色
单色,或者为每个方向自定义颜色。
迷你趋势图
可选,内嵌显示,位于数字旁边。
空闲
没有流量时会变暗,让安静的 Mac 看起来确实安静。
宽度
保证固定不变。 当速率跨越单位边界时,这一项不会抖动,也绝不会挤动你菜单栏里的其他项目。
02
面板点一下就能打开
实时
当前的下载和上传速率。
图表
一张对向面积图: 下载显示在线上方,上传显示在线下方。 线性、对数,或固定最大值。
各应用
是哪个进程在占用流量,按占用排序、实时显示,在面板打开时以最低 3 秒的间隔采样。无需助理程序,无需权限弹窗。
用量
当前账单周期的用量图表,显示已用去的流量上限比例,以及按网络拆分的数据。
总计
本次会话,以及当前周期。
质量
延迟、抖动和丢包率,外加一个响应速度测试按钮。
接口
MAC 地址、MTU、链路速度、IPv4、IPv6 和 DNS。
Wi-Fi
SSID、BSSID、RSSI、噪声、信道、频段、频宽、安全方式和 PHY 模式。
下载 上传
线性,自动峰值
03
提醒只在真正重要时提醒

当数值超过阈值 并持续保持 达到我设定的时长时提醒我。一次一秒的波动不算一个事件。

可监测项
下载速度、上传速度、延迟,或流量上限已用去的比例。
上限阈值
在你选定的周期额度比例触发,按周期计算,而不是按日历月份。
此外
连接丢失。
触发条件
高于或低于某个阈值,并持续你设定的时长。
冷却时间
每条规则都有冷却时间,因此一条时断时续的连接不会对你狂轰滥炸。
04
流量用量按你的账单周期,而不是按月份
会话
自应用启动以来,或自你上次重置以来的统计。
周期
按天、按周或按月统计。
上限
你的流量额度,按 你运营商周期开始的那一天计算,而不是从月初开始。
短月份
如果周期日设为 31 号,2 月会用 28 号,4 月会用 30 号。
预测
用一句话告诉你,按当前速率会在哪天用完流量上限。
按网络
你使用过的每个网络分别用了多少流量。
结转
按真实的周期边界计算,而不是从当前时间往前推算的滚动窗口。
05
单位两种习惯都能满足
单位
字节或比特。MB/s 或 Mbps。
进制
1000 或 1024。网络惯例或存储惯例,由你选择。
06
语言全都翻译,不只是菜单
支持语言
英语、阿拉伯语、法语、德语、西班牙语、日语和简体中文。
全部
每一个界面、每一条提醒、每一条通知,以及旁白(VoiceOver)朗读的内容。 不是在一个英文应用外面套一层翻译过的菜单。
从右到左
阿拉伯语会镜像整个界面布局,因为 macOS 本身就是这样做的,应用也不会与之对抗。

价格

你整天都在看的那部分,是免费的那部分。

Pinned 可以免费下载。菜单栏读数、每一款主题、每一项外观设置都会永久免费,没有时间限制。有四项功能是付费的,它们都在这里明确列出,而不是等你安装之后才发现。

00
免费没有试用倒计时,不会打扰你
菜单栏
实时下载和上传速度,固定宽度显示,覆盖任何正在承载流量的接口。
外观
七款主题,全部颜色、图标、布局、单位和小数位设置,以及对比度保证。
面板
实时速率、吞吐量图表,以及完整的连接详情,包括 Wi-Fi 信号、信道和安全方式。
到期
永不到期。这个级别不会过期。
01
Pinned ProUSD 4.99/年
各应用
此刻哪些进程在传输数据,按实际使用量排序。
流量上限
按你真实的账单周期计算,当你即将超出流量时,会用大白话提醒你。
响应速度
在负载下测量延迟,让你看到那种会毁掉通话的缓冲膨胀。
提醒与历史
针对速度、延迟和流量上限的持续达标加冷却提醒,外加按网络统计的每日总量。
计费
自动续订,费用会从你的 Apple 账户扣取。可以随时在 Apple 账户设置里取消,只需在当前周期结束前至少 24 小时操作。 使用条款隐私政策.

对你的 Mac 毫无负担

一个会消耗你资源的监控工具,是一笔划不来的交易。

0.3–0.4% CPU
面板关闭时
33–67MB
常驻内存

两个数字都是实测值,不是目标值。测量环境为运行 macOS 26 的 Apple 芯片 Mac,面板关闭,Pinned 以每秒一次的频率采样。内存区间如实反映了一个真实的差异:面板从未打开过时是 33 MB,重度使用之后是 67 MB,因为面板的图表和标签是在你第一次真正打开它时才构建的,而不是在启动时,并且它会加载每个应用的图标显示在名称旁边。上限数字是一个天花板,而不是一种趋势。连续打开关闭八次,读数依次为 63、64、67、67、67、67、67、67,也就是说它会攀升到一个平台期,然后停在那里。打开面板会以 3 秒的最低间隔增加各应用采样器,关闭面板则会把这一切归零。你自己看到的数字会随你的设置和硬件略有变动。

隐私

没有任何东西会离开你的 Mac,这句话下面也没有任何附加条款。

一个网络监控工具处在一个格外需要信任的位置。以下是 Pinned 被允许做的全部事情,一字不差。

沙盒运行
Pinned 运行在 macOS 应用沙盒内部。吞吐量计数器完全不需要任何提升权限:读取它们只是一次普通的内核查询。
无需管理员密码
没有后台助理程序,没有 root 守护进程,没有内核扩展,应用之外不安装任何东西。把它拖进废纸篓,它就彻底消失了。
按应用归因,无需权限弹窗
指出流量背后是哪个应用,这件事是在沙盒内部、由应用自己完成的。它不需要特权助理程序,不需要 root 守护进程,也不需要权限弹窗,因此 macOS 从不会为此要求你批准任何东西。它只在面板打开时以最低 3 秒的间隔采样,面板关闭时则完全不采样。
无遥测
没有数据分析,没有崩溃报告服务,不统计使用情况,没有账户。Pinned 不会向任何人报告你的情况,因为它根本不做任何报告。
公网 IP 查询默认关闭
默认关闭。只要不打开它,也不按响应速度测试按钮,Pinned 就完全不会发出任何对外请求。打开它之后,它只会获取一样东西:你的公网地址,按你选定的刷新间隔更新。
测试是一个按钮
响应速度测试是唯一一个会刻意发送流量的功能,因为它必须让连接饱和才能测量。所以它只会在你按下按钮时运行。没有计划任务,不会在后台运行,也绝不会在你打电话的时候悄悄让你的连接饱和。
定位,仅用于获取名称
macOS 不会把你的 Wi-Fi 网络名称告诉任何没有定位权限的应用。所以如果你想在详情面板里看到 SSID,Pinned 就必须请求这个权限。这是它请求定位权限的唯一原因,不会存储也不会发送任何数据,而如果你拒绝,所有的速率、统计、图表和接口详情依然照常可用。

系统要求

macOS 13 或更高版本
Apple silicon 和 Intel