TrafficMonitor 是 Windows 上那种「装完就一直在角落待着」的小工具:屏幕边上挂一行字,实时告诉你现在下载多少、上传多少,愿意的话再加上 CPU 和内存占用。代码是 C++ 写的,主程序不到 2 MB,不依赖运行库,解压就能跑。
两个包,先看清要哪个
发布页上 x64 有两个 zip:完整版 1,471,133 字节,Lite 版 1,066,765 字节。解开之后两个 exe 只差 17,408 字节,但权限声明完全不同。
TrafficMonitor_V1.86_x64.zip 1,471,133 字节
└─ TrafficMonitor.exe 1,934,336 字节 requireAdministrator
TrafficMonitor_V1.86_x64_Lite.zip 1,066,765 字节
└─ TrafficMonitor.exe 1,916,928 字节 asInvoker
完整版的 manifest 里写的是 requireAdministrator,普通账户双击直接弹「请求的操作需要提升」,用脚本启动会拿到 WinError 740。它多出来的是温度传感器读数,靠目录里那两个 OpenHardwareMonitor 的 dll 去问主板要数据,所以必须要管理员。
Lite 版是 asInvoker,谁双击都能跑,代价是没有温度这一项。只关心网速和 CPU 内存的话,Lite 版就够了。
从双击到出现,0.67 秒
Lite 版从进程启动到悬浮窗可见,计时 0.67 秒。进程常驻内存 35,976 K,完整版那次是 36,516 K,两个都在 36 MB 上下。
进程到窗口可见 0.67 秒
内存(Lite / 完整) 35,976 K / 36,516 K
悬浮窗尺寸 348x82 像素(网速 + CPU/内存 两行)
刷新间隔 1,000 毫秒
配置目录 %APPDATA%\TrafficMonitor\config.ini
悬浮窗默认贴在屏幕右下角、任务栏上方。按住 Ctrl 用左键能拖到别处,双击默认打开任务管理器,右键出来的是完整菜单。
一行还是两行,看配置
刚装好只显示网速那一行,CPU 和内存是关着的。config.ini 里有一个 show_cpu_memory,默认 false,改成 true 重启,窗口高度从 60 像素长到 82 像素,多出一行 CPU 和内存。
上传: 5.92 KB/s 下载: 6.30 KB/s
CPU: 19 % 内存: 76 %
同一个文件里还有 transparency = 80,控制悬浮窗的透明程度。默认 80 是那种半透明的玻璃感,能透出后面的桌面和窗口;改成 100 就完全不透明,截图和录屏的时候不会看到底下的东西。
皮肤放在 app\skins 目录,自带几套,右键菜单里能换。语言有 12 份 ini,简体中文是默认。
网速准不准:差 12%
用一个限速 400 KB/s 的下载来对:curl 自己报告实际速率 403 到 408 KB/s,同一时刻悬浮窗显示 458.1 KB/s。
| 项目 | KB/s |
|---|---|
| curl 实际(限速 400K) | 408 |
| 悬浮窗显示 | 458.1 |
| 差额 | 50 |
差出来的 50 KB/s 不是它算错。它读的是网卡层的字节计数,除了你下载的这些内容,还有每个 TCP 包的头部、TLS 的握手和重传,这部分开销落在网卡上但不在 curl 的统计里。按 12% 左右的高估去理解就行,做流量告警的时候阈值别卡太死。
回环和虚拟网卡的流量它看不见
把同一个 20 MB 文件从本地服务下载,实际速度 2 MB/s,悬浮窗显示的下载只有 11.1 KB/s。差的不是一点,是完全没算进去。
原因在配置里那行 connection_name = Intel(R) Ethernet Connection (17) I219-V:它只统计你选中的那张物理网卡,走 127.0.0.1 的回环流量压根不过网卡。同理,挂代理、开虚拟机、用 Docker 的虚拟网卡,这些流量要么不算,要么得在设置里把网卡切过去。
要多网卡一起算,右键菜单进设置把「显示所有网卡」打开,界面会变成每张网卡一行。
可以嵌进任务栏
config.ini 里 show_task_bar_wnd 默认 false,改成 true 之后那一行字会钻进任务栏,贴在托盘图标左边,显示两行小字:上传和下载。
↑ 28.6 KB/s
↓ 56.2 KB/s
这个模式下它跟着任务栏走,任务栏在下面就贴在下面,全屏看视频时自动隐藏。想让它在全屏的时候也不出现,配置里 hide_main_wnd_when_fullscreen 默认就是 true。
配置全在一个 ini 里
配置文件在 %APPDATA%\TrafficMonitor\config.ini,3,625 字节,分 general / config / connection / skins / notify_tip 几段。想批量部署或者改完备份,直接复制这一个文件就行。
里面值得看一眼的几项:monitor_time_span = 1000 是采样间隔,cpu_usage_acquire_method = 1 决定用哪种方式读 CPU,double_click_exe 指着 Taskmgr.exe 所以双击才打开任务管理器。
notify_tip 那一段是告警阈值,默认流量 200、内存 80%、CPU 温度 80°C、显卡温度 80°C、硬盘温度 80°C、主板温度 80°C,全部是关闭状态,要自己在设置里一个个勾上才会弹提示。
几处要注意的:完整版必须管理员,普通用户双击会失败,这点和很多「绿色软件」不一样;Lite 版没有温度,别以为坏了;它读不到回环和虚拟网卡,测同一台机器上两个程序之间的速度别指望它。没测的部分列一下,5 项:温度读数的准确性、任务栏在 4K 高 DPI 下的排版、插件接口、皮肤自定义编辑、开机自启的实际行为,都没跑。









