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

相关推荐

  • Win7系统下如何安装Linux?详细操作步骤解析

    在Windows 7系统下安装Linux双系统,需提前做好准备工作,谨慎操作分区步骤,以下是详细流程:准备工作选择Linux发行版:推荐Ubuntu(LTS版本)、Linux Mint等对新手友好的发行版,确保与硬件兼容性良好,备份数据:安装过程可能涉及分区调整,务必提前备份Win7重要数据至移动硬盘或云端,准……

    2025年9月27日
    10600
  • linux 如何消耗内存

    Linux 中,可通过运行大型程序、加载大量数据到内存、创建大数组等方式消耗

    2025年8月18日
    9800
  • Linux scp如何快速传文件?

    scp基础语法scp [选项] 源文件路径 目标文件路径常用选项:-P:指定远程SSH端口(默认为22)-r:递归复制整个目录-C:启用压缩传输-i:指定私钥文件(用于密钥认证)核心操作场景本地文件 → 远程服务器scp /本地/文件.txt 用户名@远程IP:/远程/目录/示例:将本地的report.pdf复……

    2025年8月8日
    9700
  • jacob如何在Linux环境中正确部署?

    Jacob(Java-COM Bridge)是一个用于Java程序调用Windows组件对象模型(COM)组件的库,但由于COM技术是Windows特有的,直接在Linux环境中部署Jacob存在原生不兼容的问题,要实现类似功能,需通过模拟环境、替代方案或间接调用等策略,以下是详细的部署步骤及方案分析,理解Ja……

    2025年8月24日
    11000
  • Linux如何挂载NTFS格式的Windows硬盘/U盘?

    挂载前的准备工作安装 NTFS 支持工具Linux 内核原生支持 NTFS 读取,但完整读写需安装 ntfs-3g(开源驱动):# Debian/Ubuntu 系sudo apt update && sudo apt install ntfs-3g# RHEL/CentOS/Fedora 系su……

    2025年7月26日
    12400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信