Linux系统如何查看实时带宽使用情况及流量统计方法?

在Linux系统中,监控网络带宽使用情况是系统管理和网络故障排查的重要环节,通过查看带宽,可以识别网络拥堵、异常流量占用、性能瓶颈等问题,Linux提供了多种命令行工具和系统监控方法,支持实时流量查看、历史数据统计、进程级流量分析等功能,本文将详细介绍常用的带宽查看工具及其使用方法,帮助用户根据实际需求选择合适的监控方案。

linux 如何查看带宽

实时网络流量监控工具

实时监控工具能够动态展示当前网络接口的带宽使用情况,适用于临时排查网络拥堵或观察实时流量变化。

iftop:按主机/端口排序的实时流量监控

iftop是一款基于libpcap的实时流量监控工具,以列表形式显示网络接口的实时带宽使用,支持按源/目标IP、端口排序,并直观展示流量流向。

  • 安装方法:

    • Ubuntu/Debian:sudo apt install iftop
    • CentOS/RHEL:sudo yum install iftop
    • 源码编译:需安装libpcap-dev和ncurses-dev,从官网下载源码后./configure && make && sudo make install
  • 使用示例:
    基本用法:sudo iftop -i eth0(指定监控网卡,默认为第一个活跃接口)
    常用参数:

    • -n:不显示主机名,仅显示IP(避免DNS解析延迟)
    • -N:不显示端口名称,仅显示端口号
    • -t:不显示流量条形图,仅显示数值
    • -P:显示端口信息(默认按主机排序,开启后按端口排序)
    • -p:启用混杂模式(监控所有通过接口的流量,包括非本机流量)
  • 输出解读:

    => 发送流量,<= 接收流量  行:`TX`(发送)、`Cumulative`(累计流量)、`Peak`(峰值流量)  
    �表层:`SOURCE`(源IP/端口)、`=>`(发送速率)、`<=`(接收速率)、`TOTAL`(总速率)、`Pkts`(数据包数量)  

nethogs:按进程统计实时流量

nethogs以进程为单位监控网络带宽使用,适合快速定位占用带宽的高进程(如下载工具、视频软件等)。

  • 安装方法:

    • Ubuntu/Debian:sudo apt install nethogs
    • CentOS/RHEL:sudo yum install nethogs
  • 使用示例:
    基本用法:sudo nethogs(默认监控所有活跃接口)
    指定接口:sudo nethogs eth0
    参数:

    • -d:刷新间隔(秒,默认为1)
    • -t:显示/隐藏程序路径
    • -c:刷新次数(如nethogs -c 5仅刷新5次后退出)
  • 输出解读:

    PID    PROGRAM      DEV        SENT      RECEIVED  
    1234   wget         eth0       1.2MB     0B  
    5678   chrome       eth0       5.6MB     12.3MB  

    每行显示进程ID、程序名、网络接口、发送/接收流量,按实时流量排序。

bmon:可视化带宽监控

bmon(Bandwidth Monitor)以文本界面图形化展示网络流量,支持多接口监控和流量历史曲线,适合需要直观流量趋势的场景。

linux 如何查看带宽

  • 安装方法:

    • Ubuntu/Debian:sudo apt install bmon
    • CentOS/RHEL:sudo yum install bmon
  • 使用示例:
    基本用法:sudo bmon
    交互操作:

    • i:切换监控接口
    • l:显示/隐藏流量曲线
    • d:显示/隐藏详细统计
    • q:退出

历史流量统计工具

实时监控无法反映长期流量趋势,历史统计工具通过记录网络接口的流量数据,支持按天/周/月统计,适合分析带宽使用规律。

vnstat:轻量级流量统计

vnstat通过读取/proc/net/dev接口数据,定期记录并统计网络流量,无需长时间运行后台进程,资源占用低。

  • 安装方法:

    • Ubuntu/Debian:sudo apt install vnstat
    • CentOS/RHEL:sudo yum install vnstat
  • 初始化数据库:
    首次使用需初始化数据库(指定接口):sudo vnstat -u -i eth0
    设置为开机自启(CentOS):sudo systemctl enable vnstat

  • 使用示例:
    查看实时流量:vnstat
    查看指定接口统计:vnstat -i eth0
    查看历史数据:

    • vnstat -d:按天统计
    • vnstat -w:按周统计
    • vnstat -m:按月统计
    • vnstat --oneline:单行显示汇总信息
  • 输出解读:

    eth0 since 2023-10-01  
            rx: 123.45 GiB   tx: 67.89 GiB    total: 191.34 GiB  
            current: 12.3 Mbps   (rx: 8.9 Mbps, tx: 3.4 Mbps)  

    显示总流量、当前实时速率及历史统计周期。

sar:系统活动报告工具

sar是sysstat包的一部分,可记录系统各项活动(包括网络流量),通过/var/log/sysstat/目录下的数据文件生成历史报告。

  • 安装方法:

    linux 如何查看带宽

    • Ubuntu/Debian:sudo apt install sysstat
    • CentOS/RHEL:sysstat通常已预装,否则sudo yum install sysstat
  • 启用数据收集:
    编辑/etc/default/sysstat,将ENABLED="false"改为ENABLED="true",然后重启服务:sudo systemctl restart sysstat

  • 使用示例:
    查看当日网络流量:sar -n DEV
    查看指定日期的历史数据:sar -n DEV -s 08:00:00 -e 18:00:00 20231001
    参数:

    • -n DEV:显示网络接口统计
    • -s/-e:指定时间范围
    • -f:读取指定数据文件(如/var/log/sysstat/sa10)
  • 输出解读:

    10:00:01     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s  
    10:10:01       eth0    1250.00    800.00     150.23      95.67  

    显示每秒接收/发送的数据包数(rxpck/s/txpck/s)和带宽(rxkB/s/txkB/s)。

网络接口统计与系统文件查看

ip命令:查看接口详细统计

ip是Linux下强大的网络配置工具,通过ip -s link可查看网络接口的详细流量统计,包括接收/发送的字节数、包数、错误数等。

  • 使用示例:
    ip -s link show eth0
    输出:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000  
        link/ether 00:1c:23:45:67:89 brd ff:ff:ff:ff:ff:ff  
        RX: bytes packets errors  dropped  overrun  mcast  
        12345678  123456   0       0       0        123  
        TX: bytes packets errors  dropped  carrier  collsns  
        8765432   87654    0       0       0        0  

    RX/TX分别表示接收/发送方向的统计,bytes为总字节数,packets为总包数。

/proc/net/dev:内核原始数据

/proc/net/dev是内核提供的网络接口统计文件,可直接查看或通过脚本解析,适合自动化监控。

  • 使用示例:
    cat /proc/net/dev
    输出:

    Inter-|   Receive                                                |  Send  
     face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed  
      eth0: 12345678 123456 0   0   0     0     0          123      8765432 87654 0   0   0     0       0          0  

    第一列为接口名,后续为接收(Receive)和发送(Send)方向的统计指标。

常用带宽监控工具对比

工具名称 功能特点 实时性 是否需安装 适用场景
iftop 按主机/端口排序,显示流量流向 实时 是 实时流量分析,定位IP/端口占用
nethogs 按进程统计流量 实时 是 定位高带宽进程
bmon 图形化流量曲线 实时 是 直观查看流量趋势
vnstat 轻量级历史流量统计 非实时 是 长期流量分析,带宽规划
sar 系统活动历史报告 非实时 需安装sysstat 企业级历史数据审计
ip -s link 接口详细统计 实时 系统内置 快速查看接口基础指标
/proc/net/dev 内核原始数据 实时 系统内置 脚本自动化监控

相关问答FAQs

Q1:iftop显示的TX/RX分别代表什么?如何解读流量数值的单位?
A:iftop中,TX(Transmit)表示发送流量,RX(Receive)表示接收流量,=>指向的列是当前连接的发送速率,<=指向的列是接收速率,流量数值的单位默认为bits/s(比特/秒),若显示为Kb/s、Mb/s,则分别表示千比特/秒、兆比特/秒(注意:1 Byte=8 bits,因此带宽数值通常比文件传输速率高8倍),显示10 Mb/s表示当前传输速率为10兆比特/秒,即1.25兆字节/秒。

Q2:如何查看某个特定进程的实时带宽占用,并持续监控?
A:可结合nethogs和watch命令实现,首先使用nethogs查看进程流量,并通过watch定时刷新,监控名为chrome的进程:sudo watch -n 1 "nethogs | grep chrome"。-n 1表示每秒刷新一次,grep chrome过滤出chrome进程的流量信息,若需监控特定接口(如eth0),可添加-i eth0参数:sudo watch -n 1 "nethogs -i eth0 | grep chrome",输出中会实时显示chrome进程的发送/接收速率,便于持续观察其带宽占用情况。

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

赞 (0)
酷番叔酷番叔
上一篇 2025年9月28日 03:16
下一篇 2025年9月28日 03:38

相关推荐

  • Linux如何查看当前登录的用户信息?

    在Linux系统中,查看登录用户是系统管理和安全维护的基础操作,无论是监控当前系统使用情况、排查异常登录行为,还是优化资源分配,都需要掌握相关命令和方法,本文将详细介绍Linux系统中查看登录用户的多种命令,包括其功能、参数、输出示例及适用场景,帮助管理员根据实际需求选择合适的工具,基础查看命令:whowho是……

    2025年10月3日
    24000
  • 如何攻克Linux无线网卡驱动开发?

    核心前提条件硬件基础获取无线网卡的芯片型号(如lspci/lsusb)、数据手册(Datasheet)和编程参考(Programming Reference),确认接口类型:PCIe、USB、SDIO 或 SPI,开发环境Linux内核源码(与目标内核版本一致),安装build-essential、libelf……

    2025年7月15日
    29100
  • 443端口如何保障网站安全?

    443端口是HTTPS协议的默认端口,用于加密的网页通信,启用该端口可提升网站安全性(防止数据窃取)和SEO排名(搜索引擎优先索引HTTPS站点),配置443端口的完整流程步骤1:获取SSL证书免费证书推荐:certbot(Let’s Encrypt)自动申请: sudo apt install certbot……

    2025年6月17日
    29300
  • Linux破解密码方法?登录密码如何获取?

    在Linux系统中,忘记密码时,若为合法权限所有者(如个人设备或授权服务器),可通过特定技术手段重置密码,需明确的是,任何密码破解操作均需遵守法律法规及道德规范,严禁用于非法入侵他人系统,以下为合法场景下的常见密码重置方法及注意事项,合法前提与准备工作在进行密码重置前,需确保:物理访问权限:对本地服务器或个人电……

    2025年9月10日
    29700
  • Linux如何设置闲置时不自动锁屏?

    Linux系统默认会在用户一段时间无操作后自动锁屏,这是为了保护用户数据和系统安全,但在某些场景下(如长时间运行任务、演示操作、监控设备等)需要保持屏幕常亮不锁屏,以下是实现Linux不锁屏的多种方法,覆盖图形界面设置、命令行配置、系统服务调整等不同需求,适用于主流桌面环境(如GNOME、KDE Plasma……

    2025年9月21日
    51200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信