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

Linux如何检测带宽?

Linux检测带宽常用命令:iftop实时监控各连接流量,nload直观显示网卡实时速率,vnstat统计历史流量数据,ip命令查看接口状态与统计信息。

实时流量监控工具

iftop – 动态流量分析

  • 功能:实时显示网络接口的带宽占用,按主机对排序。
  • 安装: sudo apt install iftop # Debian/Ubuntu sudo yum install iftop # CentOS/RHEL
  • 使用: sudo iftop -i eth0 # 指定网卡

    输出解读

    • 顶部:带宽刻度尺(峰值比例)。
    • 中部:主机对流量(→表示流入,←表示流出)。
    • 底部:2秒/10秒/40秒的平均流量统计。

nload – 简洁分栏视图

  • 特点:双栏分别显示流入(Incoming)和流出(Outgoing)流量。
  • 安装: sudo apt install nload # Debian/Ubuntu sudo yum install nload # CentOS/RHEL
  • 操作: nload -m -i 1000 -o 500 eth0 # -m: 简化显示;-i/-o: 流入/流出刻度上限(KB/s)

    优势:直观对比双向流量,适合快速诊断异常。

bmon – 多网卡监控

  • 场景:同时监控多个接口,支持图形化输出。
  • 安装: sudo apt install bmon # Debian/Ubuntu sudo yum install bmon # CentOS/RHEL
  • 交互命令
    • 启动后按 d 选择网卡,g 切换图形/文本模式。


历史数据统计工具

vnstat – 轻量级长期统计

  • 原理:后台守护进程定期记录数据,资源占用低。
  • 安装与初始化: sudo apt install vnstat # Debian/Ubuntu sudo vnstat -u -i eth0 # 初始化数据库 sudo systemctl start vnstat
  • 查看报告: vnstat -d # 日统计 vnstat -m # 月统计 vnstat -l # 实时模式(类似iftop)

    输出示例

    eth0 / monthly Month Rx (GB) Tx (GB) Total -------------------------------- 2025-01 12.34 5.67 18.01

sar – 系统级历史数据

  • 来源:sysstat包收集的系统活动报告。
  • 配置: sudo apt install sysstat # Debian/Ubuntu sudo vi /etc/default/sysstat # 启用ENABLED="true" sudo systemctl restart sysstat
  • 查询历史带宽: sar -n DEV -f /var/log/sysstat/sa15 # 查看当月15日数据

    关键列

    • rxkB/s:接收速率(KB/s)
    • txkB/s:发送速率(KB/s)


带宽压测工具

iperf3 – 网络性能基准测试

  • 用途:测量节点间最大可用带宽(需两端部署)。
  • 安装: sudo apt install iperf3 # Debian/Ubuntu sudo yum install iperf3 # CentOS/RHEL
  • 服务端启动: iperf3 -s # 默认监听5201端口
  • 客户端测试: iperf3 -c 192.168.1.100 -t 30 -P 4 # 连接服务端IP,测试30秒,4线程

    结果解读

    [SUM] 0.00-30.00 sec 3.75 GBytes 1.07 Gbits/sec # 总带宽


原生系统命令

ip 命令(推荐)

  • 查看接口统计: ip -s link show eth0

    输出关键项

    RX: bytes packets errors ... # 接收数据 TX: bytes packets errors ... # 发送数据

netstat(传统工具)

  • 已弃用:部分发行版预装但逐渐被ss替代。
  • 临时查看: netstat -i # 显示接口摘要


工具选型建议

场景 推荐工具 优势
实时流量诊断 iftop、nload 动态排序,直观可视化
长期趋势分析 vnstat、sar 低开销,支持历史回溯
多网卡监控 bmon 集中管理,图形化支持
网络吞吐量测试 iperf3 跨节点压测,精确评估上限
快速查看接口状态 ip -s link 无需安装,系统原生支持


注意事项

  1. 权限要求:实时监控工具(如iftop)通常需sudo权限。
  2. 数据安全:使用iperf3时,通过-k启用加密(需编译支持),避免开放端口暴露风险。
  3. 单位换算:工具默认显示单位可能不同(如vnstat输出GB,nload默认KB),注意换算(1 GB = 1024 MB ≈ 1,000,000 KB)。
  4. 虚拟化环境:云服务器需区分物理网卡(如eth0)与虚拟网卡(如ens3),使用ip link确认接口名。


引用说明

  1. iftop 官方文档:https://www.ex-parrot.com/pdw/iftop/
  2. iperf3 手册:https://iperf.fr/iperf-doc.php
  3. Linux ip 命令指南:https://man7.org/linux/man-pages/man8/ip.8.html
  4. vnstat 配置参考:https://humdi.net/vnstat/

通过合理选择工具,您可高效掌握Linux系统的带宽使用情况,为网络优化提供数据支撑,建议运维人员定期使用vnstat记录基线数据,结合iperf3验证网络性能,确保业务稳定运行。

0