Linux系统如何实时查看带宽使用情况?具体监控命令有哪些?

在Linux系统中,监控带宽使用情况是系统管理和网络故障排查的重要环节,无论是排查网络拥堵、优化服务性能,还是确保网络资源合理分配,都需要借助合适的工具和方法,本文将详细介绍Linux系统中查看带宽的多种方式,涵盖基础命令、实时监控工具、历史数据统计工具及性能测试工具,帮助用户根据不同场景选择合适的方案。

linux如何查看带宽

基础网络状态查看:通过系统命令快速了解流量

对于简单的带宽查看需求,Linux系统自带的网络命令即可满足,这类工具无需安装,适合快速获取网络接口的基本流量信息。

ifconfigip命令:查看接口收发字节数

ifconfig是传统的网络配置工具,虽然在新系统中逐渐被ip命令取代,但仍可用于查看网络接口的流量统计,通过ifconfig [接口名]命令,可以直观看到RX(接收)和TX(发送)的总字节数,

ifconfig eth0

输出中包含RX packets(接收包数)、RX bytes(接收字节数)、TX packets(发送包数)、TX bytes(发送字节数),但需注意,ifconfig显示的是累计值,无法直接反映实时带宽,需结合两次执行的时间差计算速率(如(当前TX bytes - 上次TX bytes) / 时间差)。

ip命令是iproute2工具包的核心命令,功能更全面,推荐使用,通过ip -s link show [接口名]可查看更详细的接口统计信息,包括字节数、错误数、丢包数等:

ip -s link show eth0

输出中的RXTX部分分别记录了接收和发送的总字节数、包数、多播包数等,适合基础流量统计。

netstat命令:查看网络连接与流量统计

netstat主要用于显示网络连接、路由表、接口统计等信息,通过-i参数可按接口显示网络流量统计:

netstat -i

输出包含接口名、接收包数(RX-OK)、接收错误(RX-ERR)、发送包数(TX-OK)、发送错误(TX-ERR)等,适合快速检查接口是否有异常错误包(错误包数过高可能表明网络问题)。

实时带宽监控工具:动态观察流量变化

若需实时监控带宽使用情况(如查看当前哪些进程占用带宽、流量峰值等),需使用专业的实时监控工具,这类工具能以动态刷新的方式展示网络速率。

iftop:按主机和端口监控流量

iftop是一款常用的实时带宽监控工具,可按主机、端口显示网络接口的实时流量,支持排序、显示流量峰值等功能,安装方式因发行版而异:

  • Ubuntu/Debian:sudo apt install iftop
  • CentOS/RHEL:sudo yum install iftop(需EPEL源)

使用时直接执行iftop -i [接口名](如iftop -i eth0),界面分为上下两部分:上半部分显示总流量、峰值流量、平均流量;下半部分显示每个主机的实时速率,=>表示发送流量,<=表示接收流量,右侧按流量大小排序,支持交互操作,如按n显示主机名/IP、按s按源端口排序、按d按目标端口排序等。

linux如何查看带宽

nethogs:按进程监控带宽

nethogs的优势在于能按进程显示带宽使用情况,快速定位占用带宽的进程(如下载工具、视频软件等),安装方式:

  • Ubuntu/Debian:sudo apt install nethogs
  • CentOS/RHEL:sudo yum install nethogs

执行nethogs -d [刷新秒数] [接口名](如nethogs -d 5 eth0),界面显示进程名(PID)、用户、接收速率(KB/s)、发送速率(KB/s)等信息,当某个进程占用带宽过高时,可直观看到其PID和名称,便于进一步操作(如终止进程)。

bmon:可视化带宽监控器

bmon(Bandwidth Monitor)提供图形化界面,支持多种视图(如条形图、曲线图),适合需要可视化展示的场景,安装:

  • Ubuntu/Debian:sudo apt install bmon
  • CentOS/RHEL:sudo yum install bmon

执行bmon -r [接口名](如bmon -r eth0),界面分为左侧统计信息、中间流量图形化展示、右侧端口列表,支持通过鼠标点击切换视图、过滤流量等操作,直观易用。

speedometer:简单的实时速率监控

speedometer是一款轻量级工具,仅显示当前接收和发送的实时速率,无需复杂参数,适合快速查看当前带宽占用,安装:

  • Ubuntu/Debian:sudo apt install speedometer
  • CentOS/RHEL:sudo yum install speedometer

执行speedometer -r [接收接口] -t [发送接口](如speedometer -r eth0 -t eth0),界面以动态条形图显示实时速率,单位默认为KB/s,简洁明了。

历史带宽统计工具:长期分析与趋势预测

若需分析历史带宽使用情况(如查看过去24小时、一周的流量趋势),需使用支持数据持久化的统计工具,这类工具将流量数据存储到数据库或文件中,便于后续生成报表。

vnstat:轻量级网络流量统计

vnstat通过后台守护进程定期收集网络接口流量数据,并存储在本地数据库中,支持查询历史流量、生成图表,安装:

  • Ubuntu/Debian:sudo apt install vnstat
  • CentOS/RHEL:sudo yum install vnstat

初始化数据库(需指定接口):sudo vnstat -u -i eth0
查询当前流量:vnstat -i eth0
查询过去5天的日均流量:vnstat -i eth0 -d
查询过去3小时的每小时流量:vnstat -i eth0 -h
生成HTML报告:vnstat -i eth0 -g(需安装vnstat-php

vnstat的优势是资源占用低,适合长期监控,但需注意数据库文件(默认在/var/lib/vnstat/)需定期备份,防止数据丢失。

linux如何查看带宽

collectdrrdtool:企业级流量监控

collectd是系统性能数据收集守护进程,支持通过插件(如interface插件)收集网络流量数据,结合rrdtool(Round Robin Database Tool)存储数据并生成图表,适合企业级监控,配置步骤较复杂,需修改collectd配置文件(/etc/collectd/collectd.conf),启用interface插件并指定接口,然后通过rrdtool查询数据或结合前端工具(如CactiGraphite)展示图表。

sar:系统活动报告工具

sarsysstat工具包的一部分,可收集并报告系统活动(包括网络流量)的历史数据,安装sysstatsudo apt install sysstat(Ubuntu)或sudo yum install sysstat(CentOS),启用数据收集:确保/etc/default/sysstatENABLED="true",查询历史网络流量:sar -n DEV [日期](如sar -n DEV 20231001)或实时监控:sar -n DEV 1 5(每秒收集一次,共5次),输出中rxkB/stxkB/s分别表示接收和发送速率(KB/s)。

网络性能测试工具:评估最大带宽

若需测试网络的最大带宽(如服务器间传输速率、公网下载速度),需使用性能测试工具,这类工具通过模拟大量数据传输来评估网络性能。

iperf3:网络性能测试标准工具

iperf3支持TCP和UDP协议测试,可测量带宽、延迟、丢包率等参数,服务端执行:iperf3 -s
客户端执行(测试与服务器的带宽):iperf3 -c <服务器IP>
指定测试时间(如10秒):iperf3 -c <服务器IP> -t 10
测试反向带宽(服务端发送、客户端接收):iperf3 -c <服务器IP> -R
测试UDP带宽(需指定带宽):iperf3 -c <服务器IP> -u -b 100M

iperf3输出包含带宽(bps)、重传率(TCP)、抖动(UDP)等关键指标,适合评估网络实际传输能力。

netperf:多协议性能测试

netperf支持TCP、UDP、SCTP等多种协议,测试场景更丰富(如本地CPU开销、多并发连接),服务端执行:netserver
客户端执行(TCP_STREAM测试):netperf -H <服务器IP> -t TCP_STREAM
测试UDP_RR(请求响应延迟):netperf -H <服务器IP> -t UDP_RR

工具对比与选择建议

为方便用户选择,以下表格总结常用工具的特点及适用场景:

工具名称 主要功能 适用场景 安装命令(Ubuntu/Debian)
ifconfig/ip 查看接口累计字节数 基础流量统计,快速检查 内置命令,无需安装
iftop 实时按主机/端口监控流量 实时流量分析,定位异常主机 sudo apt install iftop
nethogs 按进程监控带宽 定位占用带宽的进程 sudo apt install nethogs
vnstat 历史流量统计,生成图表 长期监控,趋势分析 sudo apt install vnstat
iperf3 测试网络最大带宽 性能测试,评估传输能力 sudo apt install iperf3

相关问答FAQs

Q1:iftop显示的“peak”和“average”带宽分别代表什么?如何理解实际带宽使用情况?
A:iftop中的“peak”指监控周期内的瞬时峰值带宽(最高发送/接收速率),“average”指监控周期内的平均带宽(总流量/时间),实际带宽使用需结合两者:若峰值远高于平均,说明存在突发流量(如下载任务启动瞬间);若平均带宽持续接近带宽上限,可能需要升级带宽或优化网络配置。“=>”和“<=”分别表示当前接口的发送和接收速率,若某方向速率长期为0,需检查对应网络服务是否正常。

Q2:如何使用vnstat查看过去一周内每天的带宽使用情况,并生成图表?
A:使用vnstat查看过去一周的日均流量,执行命令:vnstat -i eth0 -w-w表示按周显示),若需生成图表,需先安装vnstat-phpsudo apt install vnstat-php),然后执行vnstat -i eth0 -g-g生成HTML图表),图表文件默认保存在/var/www/html/(需确保Web服务已配置),浏览器访问http://服务器IP/vnstat/即可查看,图表包含每日收发流量曲线,便于直观分析趋势。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/14965.html

(0)
酷番叔酷番叔
上一篇 1天前
下一篇 1天前

相关推荐

  • linux如何用鼠标键盘

    Linux中,鼠标可点击图标、拖动窗口等操作,键盘用于

    5天前
    600
  • linux删除文件如何恢复

    Linux下删除文件后,可尝试用extundelete、testdisk等工具恢复,但

    2025年8月17日
    400
  • 服务中断怎么办?

    在Linux上彻底卸载MySQL数据库需要谨慎操作,确保完全移除所有组件以避免残留文件影响后续安装,以下是针对主流发行版(Debian/Ubuntu和CentOS/RHEL)的详细步骤,操作前务必备份重要数据,第一步:停止MySQL服务sudo systemctl stop mysql # Debian/Ubu……

    2025年7月19日
    1800
  • linux软件 如何破解wifi密码

    议破解WiFi密码,这是不合法且不道德的行为。

    5天前
    700
  • Linux命令执行后如何撤销?

    未执行命令的撤销取消当前输入行Ctrl + C:强制终止正在输入或运行的命令(最常用),Ctrl + U:删除光标前整行内容(Bash/Zsh默认支持),Ctrl + W:删除光标前的一个单词,Esc + D:删除光标后的一个单词,清屏重置Ctrl + L 或输入 clear:清除终端显示,但已输入未执行的命令……

    2025年7月20日
    1900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信