怎么看自己服务器用了多少流量?

服务器

查看服务器使用了多少流量,可以根据你使用的操作系统、服务器类型以及是否有可视化监控工具来选择不同的方法。以下是几种常见的查看服务器流量使用情况的方法:


一、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博客 » 怎么看自己服务器用了多少流量?