3x-ui流量统计不准怎么办?流量重置与统计原理详解

给朋友开了几个节点,月底想看看谁用了多少,结果发现面板上的数字跟自己印象里对不上,或者干脆想每月初清零重新算——这是用 3x-ui 跑多用户节点绕不开的两件事。这篇把流量统计到底统的是什么、为什么会对不上、以及怎么重置说清楚。

流量数据在哪里看

3x-ui 的流量显示分两层,很多人只看到了其中一层。

第一层在入站列表页面,每个入站节点那一行显示这个节点的上行和下行总量,是该入站下所有用户的汇总。

第二层要点开那一行右侧的客户端图标,进入用户列表才看得到,这里是按用户分开的流量。想知道具体是谁用得多,必须看这一层。如果还没给节点分过用户,可以先看3x-ui多用户管理:在入站列表里添加和管理用户把用户拆出来,否则所有流量混在一个默认用户名下,统计了也没意义。

上行(Up)是客户端发往服务器的数据,下行(Down)是服务器返回的数据。日常上网下行远大于上行,某个用户上行异常高,多半是在做上传或者跑 BT。

面板数字和 VPS 后台为什么对不上

这是被问得最多的问题,而且大部分情况下不是 bug。

面板统计的是经过 Xray 转发的代理流量,VPS 服务商后台统计的是网卡上所有进出的物理流量。后者天然比前者大,因为它还包含系统更新、DNS 查询、面板 Web 界面自己的通信、你 SSH 登录产生的流量,以及服务器被全网扫描器探测产生的垃圾流量——公网 IP 每天都会挨扫。如果装了 Telegram 通知,机器人推送也走网卡。

除此之外还有协议开销。TLS 握手、包头封装、Reality 的伪装数据这些都占带宽,但不算在"用户实际传输的内容"里。所以两边差个百分之五到十很正常,差得离谱才需要查。

真正需要警惕的是另一种情况:VPS 后台流量暴涨但面板数字很小。这说明有非代理的东西在大量吃流量,可能是服务器被入侵了在跑挖矿或者当跳板,这种情况该按VPS被暴力破解了吗?几条命令查清登录痕迹的思路去排查,而不是纠结面板统计。

统计滞后不代表丢数据

面板的流量数字不是实时刷新的,Xray 先在内存里累加,隔一段时间统一写进数据库。所以刚下载完一个大文件,立刻刷新面板可能还看不到,等几分钟再看就有了。

正常重启 Xray 服务不会丢已落盘的数据。会丢的是服务器突然断电、或者用 kill -9 强制杀进程这两种情况,最后一个写入周期内的数据来不及落盘就没了,通常是几分钟的量。

手动重置单个用户的流量

最常用的操作。进入客户端列表,找到要重置的那个用户,在他那一行的操作区里点重置流量,确认一下就完成了。

重置的只是计数器,UUID、流量限额、到期时间这些设置都原样保留。也就是说,你给某人设了 50GB 上限,他用满被停了,你点一下重置,已用流量变回 0,50GB 的限额还在,他又能接着用 50GB。

重置之后客户端那边不用做任何操作。节点参数一个字都没变,订阅链接还是原来那条,不需要重新导入。如果这个用户之前因为超限被停用,重置后连接会自动恢复,最多经历一次断开重连。

批量重置整个入站

用户多的时候一个个点太慢。在入站列表页面,对某个入站执行重置全部客户端流量,这个入站下所有用户的计数一次清零。

这个操作不可撤销,重置前的历史数字不会保留在任何地方。如果你需要留存每月的用量记录用来跟朋友分摊费用,得在重置前自己截图,面板不提供历史归档功能。

如果同时跑了多个入站(比如 VLESS Reality 一个、Hysteria2 一个),每个入站要分别重置,没有一键清空全站的按钮。

配置按月自动重置

每个月手动点一遍很烦,面板支持自动化。

在客户端的编辑表单里有一个重置周期(Reset Days)字段,填数字表示天数。填 30 就是每 30 天自动把这个用户的流量清零一次,填 0 或留空表示不自动重置。

这个字段配合流量限额用才有意义。比如给朋友设 100GB 限额 + 30 天重置周期,效果就是"每月 100GB 包月",用完了等下个周期自动恢复。单独设限额不设周期,那就是一次性的 100GB,用完得手动重置。

要注意周期是从设置那一刻开始算的 30 天,不是自然月的 1 号。想让所有用户在月初统一重置,得在同一天给他们设置。

到期时间是另一个独立字段,跟重置周期不冲突:重置周期管流量清零,到期时间管账号什么时候彻底失效。两个可以同时设,S-UI面板多用户管理里有类似说明,两个面板这块逻辑一致。

重置按钮点了没反应

偶尔会遇到点了重置但数字没变,按这个顺序查:

先刷新浏览器页面。面板前端有缓存,数据其实已经改了但界面没更新,这种占了一多半。

刷新后还是老数字就重启面板服务,命令在3x-ui常用命令汇总里有。

还不行要考虑数据库层面的问题。面板数据都存在 x-ui.db 这个 SQLite 文件里,如果权限不对或曾被非正常中断过写入,可能出现读得到写不进的状态。这种情况先按3x-ui面板迁移与备份教程把数据库备份出来,不要在没备份的情况下直接动那个文件,弄坏了所有用户配置都得重新建。

几个实际使用中的习惯

重置前先记一下数字。尤其是跟人分摊 VPS 费用的场景,面板不存历史,清零之后就查不回来了,截个图成本很低。

给自用的账号不设限额也不设周期,省得哪天流量满了自己连不上还在纳闷。限额只给别人用的账号设。

流量异常时先看用户维度。发现总流量跑得比预期快,进客户端列表按用量排一下,一眼就能看出是哪个账号在跑量。

如果面板本身都打不开了,那就不是流量统计的问题,参考x-ui面板打不开的常见原因和解决方法先把面板恢复了再说。