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)
酷番叔酷番叔
上一篇 2025年8月23日 03:51
下一篇 2025年8月23日 04:11

相关推荐

  • linux如何显示用户名

    在Linux系统中,用户名是标识系统用户身份的核心信息,无论是日常操作、脚本编写还是系统管理,经常需要获取当前或指定用户的用户名,Linux提供了多种命令和方法来显示用户名,涵盖基础命令、环境变量、系统文件等多个层面,下面将详细介绍这些方法及其使用场景,基础命令直接显示用户名whoami命令whoami是最直接……

    2025年9月19日
    1900
  • ARM Linux如何进入BIOS/UEFI?

    ARM设备通常无传统BIOS/UEFI界面,其引导程序(如U-Boot)相当于此角色,进入方法因设备而异,常见方式包括串口调试或特定启动按键组合,无统一标准。

    2025年7月13日
    4600
  • 如何高效利用Linux开发环境快速上手编程?

    环境准备安装开发工具链打开终端,安装基础编译器和构建工具:sudo apt update && sudo apt install build-essential # Debian/Ubuntusudo dnf groupinstall "Development Tools&quot……

    2025年8月1日
    4600
  • linux虚拟机如何连外网ip

    Linux虚拟机连接外网IP是日常开发、测试和学习中的常见需求,其实现方式主要取决于虚拟机的网络模式配置,常见的网络模式包括NAT(网络地址转换)、桥接(Bridged)和仅主机(Host-only),其中NAT和桥接模式是实现外网连接的主流方式,下面将详细介绍这两种模式的配置步骤、原理及注意事项,在NAT模式……

    2025年9月10日
    1700
  • 如何正确创建挂载点目录?

    在Linux系统中安装ISO文件是常见需求,无论是安装操作系统、运行工具盘还是挂载软件镜像,以下是专业、安全且详细的操作指南,涵盖命令行与图形界面方法,适用于Ubuntu、Fedora、CentOS等主流发行版,ISO文件是什么?ISO是光盘镜像的标准化格式,包含完整的文件系统结构,Linux中处理ISO的典型……

    2025年7月23日
    4000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信