它测量什么
它统计已经发生的流量,而不会主动去获取任何数据。
下载和上传的数字来自 Mac 早已记下的计数。读取它们不会自行打开套接字,不联系任何服务器,也不运行任何测试。
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 隧道