如何看服务器消耗多少流量?

服务器

要查看服务器消耗了多少流量,可以使用多种方法,具体取决于你使用的操作系统(如 Linux)、服务器类型(云服务器、物理机等)以及你想要查看的粒度(实时流量、历史流量、按进程统计等)。以下是几种常用的方法:


一、Linux 系统下查看实时网络流量

1. 使用 iftop(实时监控网络接口流量)

sudo iftop
  • 显示当前网络接口的实时流量,按连接排序。
  • 安装方法(CentOS/RHEL):
    sudo yum install iftop
  • 安装方法(Ubuntu/Debian):
    sudo apt install iftop

2. 使用 nethogs(按进程查看流量)

sudo nethogs
  • 可以看到每个进程消耗的上传/下载流量。
  • 安装:
    sudo apt install nethogs  # Ubuntu/Debian
    sudo yum install nethogs  # CentOS/RHEL

3. 使用 vnstat(查看历史流量统计)

vnstat
  • vnstat 会记录每天、每月的网络流量使用情况。
  • 安装:
    sudo apt install vnstat     # Ubuntu/Debian
    sudo yum install vnstat     # CentOS/RHEL
  • 常用命令:
    vnstat                # 查看汇总
    vnstat -d             # 按天查看
    vnstat -m             # 按月查看

4. 使用 ipifconfig 查看接口总流量

ip -s link show eth0

ifconfig eth0
  • 查看 RX(接收)和 TX(发送)的字节数,单位是字节。
  • 可以定期记录这些值来计算一段时间内的流量消耗。

二、云服务器平台自带监控(推荐)

如果你使用的是云服务器(如阿里云、腾讯云、AWS、华为云等),可以直接在控制台查看流量:

1. 阿里云

  • 登录 ECS 控制台
  • 查看实例的“监控信息” → “公网带宽”图表
  • 支持查看入方向(下载)、出方向(上传)流量

2. 腾讯云

  • 登录 CVM 控制台
  • 进入实例详情 → “监控” → 查看网络流入/流出带宽

3. AWS

  • 使用 CloudWatch 查看 NetworkInNetworkOut 指标

⚠️ 注意:云平台统计的“流量”通常指 公网流量,内网流量可能不计费也不显示。


三、脚本方式统计流量(进阶)

你可以写一个简单的脚本记录 /proc/net/dev 中的网卡流量:

cat /proc/net/dev

输出示例:

face |bytes    packets...
eth0: 123456789 123456 ...
  • 第二列是接收字节(RX),第十列是发送字节(TX)
  • 可以通过定时脚本记录差值,计算一段时间内的流量。

示例脚本(统计 eth0 10 秒内的流量):

#!/bin/bash
read_rx_tx() {
    cat /proc/net/dev | grep eth0 | awk '{print $2, $10}'
}

old=($(read_rx_tx))
sleep 10
new=($(read_rx_tx))

rx_diff=$(( ${new[0]} - ${old[0]} ))
tx_diff=$(( ${new[1]} - ${old[1]} ))

echo "接收流量: $(echo "scale=2; $rx_diff/1024/1024" | bc) MB"
echo "发送流量: $(echo "scale=2; $tx_diff/1024/1024" | bc) MB"

四、注意事项

  1. 区分内网和公网流量:很多应用(如数据库同步、内网服务)使用内网流量,不计入公网带宽消耗。
  2. 单位换算
    • 1 MB = 1024 KB = 1024×1024 字节
    • 流量通常以 GB 或 TB 计费(如 1GB = 1000MB 或 1024MB,看服务商)
  3. 计费流量:云服务通常只对 出方向(上传)公网流量收费。

总结

方法 用途
iftop / nethogs 实时查看流量,按连接或进程
vnstat 查看历史每日/每月流量
ip -s link 查看网卡累计流量
云平台监控 查看公网带宽使用和计费流量(最准确)

? 建议:对于生产环境,推荐结合 vnstat 记录 + 云平台监控,实现全面流量管理。

如果你告诉我你用的是哪家云服务器或系统环境,我可以提供更具体的命令。

未经允许不得转载:CDNK博客 » 如何看服务器消耗多少流量?