当前位置:首页 > Linux > 正文

Linux怎么查看网卡带宽

使用ethtool工具查看网卡带宽,执行命令 ethtool 网卡名(如 ethtool eth0),在输出中查找”Speed”字段即可显示当前速率,如1000Mb/s表示千兆带宽。

在Linux系统中,查看网卡带宽是网络管理和故障排查的重要操作,以下是几种常用的方法,涵盖最大理论带宽(网卡硬件能力)和实时带宽使用(当前传输速率)的查看方式:


查看网卡最大理论带宽(硬件支持速度)

方法1:使用 ethtool(推荐)

ethtool 是查看网卡详细信息的标准工具,可显示网卡支持的最高速率。

# 1. 安装ethtool(如未预装)
sudo apt install ethtool         # Debian/Ubuntu
sudo yum install ethtool         # CentOS/RHEL
# 2. 查看网卡带宽(示例网卡名为eth0)
sudo ethtool eth0 | grep -i "Speed"

输出示例
Speed: 1000Mb/s
表示网卡最大支持 1Gbps 带宽。

方法2:查看 /sys 文件系统

cat /sys/class/net/eth0/speed

输出示例
1000(单位是 Mbps,即 1Gbps)

Linux怎么查看网卡带宽  第1张


监控实时带宽使用(当前传输速率)

方法1:使用 nload(实时流量监控)

# 安装nload
sudo apt install nload           # Debian/Ubuntu
sudo yum install nload           # CentOS/RHEL
# 运行监控(按上下方向键切换网卡)
nload

输出效果

动态显示 Incoming(下行)和 Outgoing(上行)流量速率(如 MB/sMb/s)。

方法2:使用 iftop(按进程/IP排序)

# 安装iftop
sudo apt install iftop           # Debian/Ubuntu
sudo yum install iftop           # CentOS/RHEL
# 运行(需sudo权限)
sudo iftop -i eth0

输出效果
实时显示每个连接/IP的带宽使用情况,按流量高低排序。

方法3:使用 ipifconfig(手动计算)

通过两次间隔时间内的数据包差值计算速率:

# 第一次记录(RX=接收流量, TX=发送流量)
ip -s link show eth0
# 或
ifconfig eth0
# 等待10秒后再次运行
ip -s link show eth0

计算公式
带宽 (Mbps) = (第二次RX字节 - 第一次RX字节) × 8 / 时间间隔 / 1,000,000


高级工具:历史统计与测试

历史带宽统计:vnStat

# 安装并配置
sudo apt install vnstat          # Debian/Ubuntu
sudo yum install vnstat          # CentOS/RHEL
# 查看日/月报告
vnstat -d    # 每日统计
vnstat -m    # 每月统计

网络带宽测试:iperf3(需两台机器)

# 服务端(IP: 192.168.1.100)
iperf3 -s
# 客户端(测试到服务端的带宽)
iperf3 -c 192.168.1.100

输出示例
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 1.15 GBytes 987 Mbits/sec
表示实际带宽约 987Mbps


️ 注意事项

  1. 单位区分
    • Mb/s(兆比特每秒):运营商和网卡常用单位,1Gbps = 1000Mbps。
    • MB/s(兆字节每秒):1MB/s = 8Mbps。
  2. 虚拟化环境
    虚拟机网卡(如 vnet0)需在宿主机上查看真实带宽。
  3. 带宽瓶颈
    实际速度受交换机、路由器、防火墙或协议开销影响。

总结推荐

需求场景 推荐工具
查看网卡最大支持带宽 ethtool
实时监控流量 nloadiftop
历史流量统计 vnStat
网络实际吞吐测试 iperf3

掌握这些工具,你可以快速诊断网络性能瓶颈,优化服务器配置,遇到复杂问题时,建议结合多种工具交叉验证数据准确性。

引用说明基于 Linux 官方手册(man ethtoolman iftop)、Ubuntu/CentOS 文档及网络管理最佳实践整理,工具参数和输出示例经实际环境测试验证。

0