查看服务器的流量使用情况,可以通过多种方式实现,具体方法取决于你使用的操作系统、服务器类型(物理机/云服务器)、以及是否安装了监控工具。以下是几种常见的查看方法:
一、Linux 系统下常用命令
1. 使用 iftop 实时查看网络流量
sudo iftop -i eth0
-i eth0指定网卡(根据你的实际网卡名修改,如ens33,enp0s3等)- 需要先安装:
sudo apt install iftop(Debian/Ubuntu)或yum install iftop(CentOS)
2. 使用 nethogs 按进程查看流量
sudo nethogs
- 可以看到哪个进程在占用带宽
- 安装:
sudo apt install nethogs或yum install nethogs
3. 使用 vnstat 查看历史流量统计
vnstat
- 安装:
sudo apt install vnstat - 自动记录每日、每月流量,适合长期监控
4. 使用 iptraf-ng 图形化查看
sudo iptraf-ng
- 提供更详细的网络连接和流量信息
5. 使用 /proc/net/dev 查看接口数据
cat /proc/net/dev
- 显示每个网卡的接收(RX)和发送(TX)字节数
- 示例输出:
face |bytes packets... eth0: 123456789 123456 ...
你可以通过脚本定期记录这个值来计算流量增量。
二、云服务器平台自带监控
如果你使用的是云服务器(如阿里云、腾讯云、华为云、AWS、Google Cloud、Azure 等),可以直接在控制台查看:
| 云服务商 | 查看路径 |
|---|---|
| 阿里云 | ECS 实例详情 → 监控信息 → 网络带宽/流量 |
| 腾讯云 | CVM 实例 → 监控 → 网络出/入带宽 |
| AWS EC2 | CloudWatch → NetworkIn / NetworkOut |
| Google Cloud | Compute Engine → VM instance → Network traffic |
⚠️ 注意:这些是带宽使用率(单位:bps),不是累计流量(单位:GB)。要估算流量,可用公式:
流量(GB) = 带宽平均值(bps) × 时间(秒) / (8 × 1024³)
三、使用系统监控工具
1. sar(来自 sysstat 包)
sar -n DEV 1 5
- 每1秒采样一次,共5次,显示网络设备流量
- 安装:
sudo apt install sysstat
2. bmon(带图形界面的带宽监控)
bmon
- 安装:
sudo apt install bmon
四、编写简单脚本统计流量
例如,查看 eth0 接收和发送的总字节数:
cat /proc/net/dev | grep eth0 | awk '{print "RX: " $2 " bytes, TX: " $10 " bytes"}'
你可以记录两次该值的差,除以时间,得到平均速率。
五、第三方监控工具(推荐用于生产环境)
- Zabbix / Prometheus + Grafana:可视化监控流量趋势
- NetData:实时性能监控仪表盘,安装简单
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
总结
| 方法 | 适用场景 |
|---|---|
iftop / nethogs |
实时排查高流量进程 |
vnstat |
统计每日/每月累计流量 |
| 云平台监控 | 快速查看带宽使用趋势 |
sar / bmon |
命令行下的详细分析 |
| NetData / Zabbix | 长期运维监控 |
✅ 建议:
如果是个人服务器,推荐安装 vnstat 记录月度流量;如果是生产环境,建议部署 Prometheus + Grafana 或使用云平台监控。
如果你告诉我你用的是什么系统或云服务商,我可以给出更具体的命令。
CLOUD云