查看服务器使用了多少流量,可以根据你使用的操作系统、服务器类型以及是否有可视化监控工具来选择不同的方法。以下是几种常见的查看服务器流量使用情况的方法:
一、Linux 服务器(常用方法)
1. 使用 iftop 工具(实时流量监控)
sudo iftop
- 显示当前网络接口的实时流量,按连接排序。
- 安装(Ubuntu/Debian):
sudo apt install iftop - 安装(CentOS/RHEL):
sudo yum install iftop
2. 使用 nethogs(按进程查看流量)
sudo nethogs
- 可以看到每个进程的网络使用情况。
- 安装:
sudo apt install nethogs # Debian/Ubuntu sudo yum install nethogs # CentOS
3. 使用 vnstat(统计历史流量)
vnstat
- 记录每日、每月的流量使用情况,适合长期监控。
- 安装:
sudo apt install vnstat - 启动服务:
sudo systemctl enable vnstat sudo systemctl start vnstat - 查看统计:
vnstat # 本月/日统计 vnstat -m # 按月查看 vnstat -h # 查看小时级流量
4. 查看 /proc/net/dev(基础信息)
cat /proc/net/dev
- 显示网卡收发的字节数(单位:bytes),可以手动计算流量。
- 示例输出:
face |bytes packets... eth0: 123456789 123456... - 用脚本定期记录这些值,可计算出流量增量。
5. 使用 sar 命令(来自 sysstat 包)
sar -n DEV 1 3
- 每秒显示一次网卡流量,共3次。
- 安装:
sudo apt install sysstat
二、云服务器厂商自带监控(推荐)
如果你使用的是云服务器(如阿里云、腾讯云、AWS、华为云等),可以直接在控制台查看流量使用情况:
| 服务商 | 查看方式 |
|---|---|
| 阿里云 | 登录控制台 → 云服务器 ECS → 实例详情 → 监控信息(公网出入带宽) |
| 腾讯云 | 控制台 → CVM → 实例 → 监控 → 网络带宽 |
| AWS | EC2 控制台 → 实例 → CloudWatch → Network In/Out |
| 华为云 | 控制台 → ECS → 监控 → 网络流量 |
⚠️ 注意:云平台通常只统计 公网流量,内网流量不计入费用,但可能影响带宽使用。
三、脚本自动统计流量(适合自建监控)
你可以写一个简单的脚本记录 /proc/net/dev 的值,计算每日流量:
#!/bin/bash
# 脚本:记录 eth0 流量
INTERFACE="eth0"
LOGFILE="/var/log/traffic.log"
RX1=$(cat /proc/net/dev | grep $INTERFACE | awk '{print $2}')
TX1=$(cat /proc/net/dev | grep $INTERFACE | awk '{print $10}')
echo "$(date): RX: $((RX1/1024/1024)) MB, TX: $((TX1/1024/1024)) MB" >> $LOGFILE
配合 cron 定时运行,即可记录每天的流量。
四、使用图形化监控工具(进阶)
- Zabbix / Prometheus + Grafana:企业级监控系统,可长期记录和告警。
- Netdata:轻量级实时监控仪表盘,安装后访问
http://your-server:19999查看。bash <(curl -Ss https://my-netdata.io/kickstart.sh)
总结
| 方法 | 适用场景 |
|---|---|
vnstat |
查看历史流量统计(推荐) |
iftop / nethogs |
实时排查流量占用 |
| 云平台控制台 | 快速查看公网流量和计费 |
sar / /proc/net/dev |
基础命令行查看 |
| Netdata / Zabbix | 长期监控与可视化 |
✅ 建议:
如果你是普通用户,安装 vnstat 并结合 云平台监控,是最简单有效的方式。
需要我帮你写一个自动统计流量的脚本或配置 vnstat 吗?
CDNK博客