流量(带宽用量)是搬瓦工 VPS 套餐的核心资源之一,每月重置一次,超出配额后 VPS 会被暂停服务。本文介绍如何通过 KiwiVM 面板和系统工具精细监控流量使用情况,理解流量重置周期,以及在流量接近上限时的应对策略。
本文要点
- 在 KiwiVM 查看本月流量用量与剩余配额
- 流量重置周期的计算方式
- 超出流量配额后 VPS 会发生什么
- 使用 vnstat 精细统计每日/每月流量
- 节流建议与流量优化技巧
在 KiwiVM 查看流量用量
登录 KiwiVM 后,在 Main controls 首页即可看到流量统计概览:
- Data Transfer:本月已使用流量 / 月配额(单位 GB)
- Data Transfer Reset Day:流量重置的日期(每月固定)
- Days Until Reset:距下次重置的剩余天数
更详细的流量统计可在左侧菜单 Bandwidth Monitor 页面查看,包括每日流量折线图和每月汇总数据,方便识别流量异常峰值。
流量重置周期说明
搬瓦工的流量按自然月计费,每月重置日期固定,通常为 VPS 开通日期的对应日(如 15 日开通,则每月 15 日重置)。
| 情况 | 说明 |
|---|---|
| 月初流量 | 重置后从 0 开始计算 |
| 统计方向 | 出站(上传)+ 入站(下载)双向计费 |
| 重置时区 | 以服务器所在时区为准,通常为 UTC |
| 超出处理 | VPS 被暂停,等待下月重置或手动购买流量包 |
| 剩余流量 | 不累计到下月,每月独立计算 |
双向流量计费
搬瓦工对出站和入站流量都计费(双向计费)。下载文件到 VPS、上传文件到外部服务器,两个方向都消耗配额,请注意规划用量。
超出流量配额后的后果
当月流量用尽后,VPS 会自动暂停(Suspended),表现为:
- SSH 无法连接,所有出入站流量被封锁
- KiwiVM 面板仍可访问,状态显示为 Suspended
- 网站、服务等全部停止对外响应
- 等到下月流量重置日,VPS 自动恢复,或购买额外流量包立即恢复
流量耗尽前要预警
建议在流量使用达到 80% 时收到告警。可以通过定时脚本调用 KiwiVM API 查询流量,结合邮件或消息推送实现预警,避免服务突然中断。
# 通过 KiwiVM API 查询流量使用情况
curl -s "https://api.64clouds.com/v1/getServiceInfo?veid=YOUR_VPS_ID&apiKey=YOUR_API_KEY" \
| python3 -c "import json,sys; d=json.load(sys.stdin); print(f'已用: {d[\"data_counter\"]/(1024**3):.1f} GB / 总计: {d[\"plan_monthly_data\"]/(1024**3):.0f} GB')"使用 vnstat 精细统计流量
KiwiVM 面板提供的流量数据有一定延迟(通常 15 分钟以上),对于需要实时监控的场景,推荐在 VPS 上安装 vnstat 工具进行精细统计。
安装 vnstat
# Debian / Ubuntu
apt install -y vnstat
systemctl enable vnstat
systemctl start vnstat
# CentOS
yum install -y vnstat
systemctl enable vnstat
systemctl start vnstat常用 vnstat 命令
# 查看接口列表
vnstat --iflist
# 查看月度流量统计(默认 eth0)
vnstat -m
# 查看每日流量统计
vnstat -d
# 查看每小时统计
vnstat -h
# 实时流量监控(每秒刷新)
vnstat -l
# 查看指定接口(如 venet0)
vnstat -i venet0 -m| vnstat 参数 | 含义 |
|---|---|
| -m | 按月汇总,显示总收发流量 |
| -d | 按天汇总,适合查找流量异常日 |
| -h | 按小时统计,定位流量高峰时段 |
| -l | 实时监控,每秒刷新当前速率 |
| --json | 输出 JSON 格式,便于脚本解析 |
vnstat 初始化需要时间
vnstat 安装后需要运行 5 分钟以上才会开始收集数据,初始显示"Not enough data"属于正常现象,第二天数据才会完整。
流量节流建议
若流量消耗过快,可考虑以下优化措施:
- 开启 Gzip/Brotli 压缩:Web 服务器开启压缩,减少 HTTP 响应体积
- 配置 CDN:静态资源通过 CDN 分发,减少直接从 VPS 传输的流量
- 限制备份传输时间:将 rsync 备份安排在月末流量剩余充足时执行
- 检查异常进程:使用
nethogs或iftop排查占用大量流量的异常进程 - 减少日志传输:日志归档后再传输,避免频繁增量同步
# 安装 nethogs 实时查看各进程流量占用
apt install -y nethogs
nethogs eth0
# 安装 iftop 实时查看连接维度流量
apt install -y iftop
iftop -i eth0流量监控告警脚本实战
以下是一个完整的流量监控脚本,通过 KiwiVM API 查询用量,当超过设定阈值时发送告警通知:
#!/bin/bash
# 流量预警脚本,建议通过 cron 每6小时执行一次
# 0 */6 * * * /root/bandwidth_alert.sh
VEID="YOUR_VPS_ID"
API_KEY="YOUR_API_KEY"
THRESHOLD=80 # 使用量超过80%时告警
# 获取流量数据
RESULT=$(curl -s "https://api.64clouds.com/v1/getServiceInfo?veid=${VEID}&apiKey=${API_KEY}")
USED=$(echo $RESULT | python3 -c "import json,sys; d=json.load(sys.stdin); print(d['data_counter'])")
TOTAL=$(echo $RESULT | python3 -c "import json,sys; d=json.load(sys.stdin); print(d['plan_monthly_data'])")
PERCENT=$((USED * 100 / TOTAL))
echo "当前流量使用率: ${PERCENT}%"
if [ $PERCENT -ge $THRESHOLD ]; then
# 发送告警(此处以写入日志为例,可改为邮件或其他通知)
echo "$(date): 流量告警!已使用 ${PERCENT}%,请及时处理" >> /var/log/bandwidth_alert.log
fi常见高流量来源排查
当发现流量消耗异常偏高时,按照以下思路排查来源:
- 检查是否有未知进程:使用
nethogs实时查看每个进程的网络用量,找出异常占用进程 - 检查日志文件:Nginx/Apache 的访问日志可以帮助识别是否有爬虫或异常请求大量消耗带宽
- 检查定时任务:
crontab -l查看是否有定期同步大文件的任务占用带宽 - 检查 P2P 软件:某些软件(如 BitTorrent 客户端)会持续产生大量双向流量,应评估是否必要
- 检查服务器被滥用:若 VPS 被入侵,攻击者可能用来发送大量数据,需检查异常的出站连接
使用 ss -tnp | grep ESTABLISHED 可以查看当前所有已建立的 TCP 连接及对应进程,结合 vnstat -h 确定流量高峰时段,缩小排查范围。
带宽速率限制
搬瓦工套餐标注的带宽(如 1Gbps)是端口速率上限,而非保证速率。实际传输速度受多种因素影响:网络路由质量、对端限速、TCP 拥塞控制算法等。如果发现实际速率远低于标称值,可以尝试更换 BBR 拥塞控制算法来提升 TCP 传输效率:
# 启用 BBR(需要内核版本 4.9+)
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
# 验证是否生效
sysctl net.ipv4.tcp_congestion_control小结
流量监控是 VPS 日常运维不可忽视的环节。通过 KiwiVM 面板掌握月度用量概览,通过 vnstat 实现精细的每日/每时统计,结合 API 脚本实现流量预警,三管齐下可以有效避免流量耗尽导致的服务中断。
常见问题
流量重置是北京时间几点?
搬瓦工流量重置以 UTC 时区计算,UTC 0 点即北京时间早上 8 点。具体重置日期在 KiwiVM 首页"Data Transfer Reset Day"显示。
流量用完了 VPS 还能访问 KiwiVM 吗?
可以,KiwiVM 控制面板不受流量配额影响,即使 VPS 因流量耗尽被暂停,仍可登录 KiwiVM 查看状态或等待重置。
双向流量是什么意思?下载文件也算流量吗?
是的,搬瓦工对出站和入站流量都计费。从外部下载文件到 VPS(入站)和从 VPS 上传文件(出站)都会消耗月度流量配额。
如何避免流量突然用完导致服务中断?
可以通过 KiwiVM API 定时查询流量使用情况,当使用量达到 80% 时触发邮件/消息告警,提前采取节流措施,并在月末关闭非必要服务。