linux 如何查看系统带宽

在Linux系统中,监控网络带宽使用情况是系统管理和故障排查的重要环节,通过实时或历史数据可以定位网络瓶颈、发现异常流量或优化资源配置,Linux提供了多种命令行工具和实用程序,帮助用户从不同维度查看系统带宽使用情况,以下将详细介绍这些工具的使用方法、输出解析及适用场景。

linux 如何查看系统带宽

iftop:实时按连接查看带宽

iftop是一款基于libpcap的实时网络流量监控工具,以列表形式显示当前网络连接的带宽占用情况,支持按IP、端口、协议等维度排序,适合快速定位高流量连接。

安装

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

常用参数

  • -i:指定网络接口,如iftop -i eth0
  • -n:以数字形式显示IP和端口,避免DNS解析;
  • -t:显示流量条形图,直观展示流量趋势;
  • -P:按端口显示连接信息,便于识别服务;
  • -b:以字节为单位显示流量(默认为比特)。

输出解析

运行iftop后,界面分为三部分:

  1. 顶部统计行:显示网卡总带宽(如“eth0”的“TX/RX”峰值)、平均流量及峰值时间;
  2. 中部连接列表:左侧为源IP/端口,右侧为目标IP/端口,中间=><=分别表示发送(TX)和接收(RX)流量,数值为实时速率(如25M表示1.25Mbps);
  3. 底部流量条:横向条形图实时显示当前流量占比,绿色代表发送,蓝色代表接收。

示例

sudo iftop -i eth0 -n -t -P  

此命令将以数字+条形图模式监控eth0接口,并按端口显示连接,快速定位占用带宽的服务(如HTTP、SSH)。

nethogs:按进程查看带宽

nethogs按进程维度统计网络带宽,适合查找具体哪个应用程序(如下载工具、视频软件)导致流量异常,支持实时刷新和流量排序。

安装

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

常用参数

  • -d:刷新间隔(秒),默认为1;
  • -t:按流量排序(默认按PID);
  • -p:以PID形式显示进程,避免进程名解析延迟;
  • -c:刷新次数,如nethogs -c 5仅刷新5次后退出。

输出解析

输出分为三列:

  • PID:进程ID;
  • USER:进程所属用户;
  • DEVICE:使用的网络接口;
  • SENT/RECEIVED:该进程的发送/接收速率(KB/s);
  • TOTAL:累计流量(KB)。

若发现某个进程(如PID为1234的chrome)流量异常,可结合ps -ef 1234进一步确认进程详情,或用kill 1234终止进程。

bmon:可视化实时带宽监控

bmon(Bandwidth Monitor)以文本界面提供可视化流量图表,支持多接口监控和流量统计,适合需要直观展示网络趋势的场景。

linux 如何查看系统带宽

安装

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

常用参数

  • -r:只读模式,避免修改配置;
  • -p:指定接口列表,如bmon -p eth0,wlan0
  • -u:使用单位(K/M/G),默认自动适配。

界面布局

启动后分为三个区域:

  • 流量图:横向条形图实时显示各接口RX/TX流量,颜色区分;
  • 接口统计:显示每个接口的RX/TX总流量、平均速率、峰值等;
  • 连接列表:显示当前活跃连接的IP和端口(需开启show-details)。

通过按键l切换流量图长度,d显示/隐藏详细信息,适合演示或长期监控。

vnstat:基于数据库的历史带宽统计

vnstat通过后台服务持续收集网络流量数据,存储在SQLite数据库中,支持按天、周、月、年查询历史流量,适合长期带宽趋势分析。

安装

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

常用命令

  • 实时流量vnstat -l,显示当前RX/TX速率;
  • 按天统计vnstat -d,显示每日总流量及峰值;
  • 按月统计vnstat -m,显示每月流量趋势;
  • 指定接口vnstat -i eth0 -d,查询eth0接口的日流量。

数据库位置

默认数据库位于/var/lib/vnstat/,可通过vnstat --dbdir /path/to/db指定路径,若需持久化监控,需启用systemctl enable vnstat服务。

sar:系统活动报告器(sysstat组件)

sar是sysstat工具包的一部分,通过-n DEV参数可查看网络设备的RX/TX统计,支持按时间间隔多次采样,适合结合系统负载分析网络性能。

安装

  • Ubuntu/Debian:sudo apt install sysstat
  • CentOS/RHEL:默认已安装,或sudo yum install sysstat

常用命令

sar -n DEV 1 5  # 每秒采样1次,共5次,显示网络设备流量

输出解析

  • IFACE:网络接口名;
  • rx/sync:每秒接收数据包数(sync指同步包);
  • tx/sync:每秒发送数据包数;
  • rxkb/s:每秒接收流量(KB/s);
  • txkb/s:每秒发送流量(KB/s)。

sar的优势在于可与CPU、I/O等系统数据联动分析,例如当rxkb/s很高但CPU利用率低时,可能存在网络拥塞而非处理瓶颈。

iptraf-ng:图形化网络监控工具

iptraf-ng提供交互式文本界面,支持LAN流量统计、接口分析、TCP/UDP协议监控等功能,适合需要详细协议分析的场景。

linux 如何查看系统带宽

安装

  • Ubuntu/Debian:sudo apt install iptraf-ng
  • CentOS/RHEL:sudo yum install iptraf-ng

使用方法

启动后进入主菜单,选择:

  • LAN traffic:监控局域网内主机流量;
  • Interface statistics:查看指定接口的RX/TX包数、错误数、带宽;
  • TCP/UDP service monitor:按端口分析协议流量。

通过按键F2可设置过滤规则(如仅监控特定IP),q退出当前界面,适合网络管理员排查局域网异常流量。

tc:流量控制与带宽查看

tc(Traffic Control)是Linux内核流量控制工具,主要用于限速、QoS调度,但通过tc showtc -s qdisc可查看接口的流量统计和队列状态。

常用命令

tc qdisc show dev eth0  # 查看eth0的队列规则
tc -s class show dev eth0  # 显示分类器的详细统计(如流量、包数)

输出中包含bytes(总字节数)、packets(总包数)、rate(当前速率)等字段,适合已配置流量控制的场景查看限速效果。

工具对比与选择

工具名称 功能特点 适用场景 是否需安装 命令示例
iftop 实时按连接排序,显示IP/端口 快速定位高流量连接 iftop -i eth0 -n
nethogs 按进程统计带宽,支持流量排序 查找异常带宽的进程 nethogs -d 2 -t
bmon 可视化流量图,多接口支持 直观展示流量趋势,演示 bmon -p eth0,wlan0
vnstat 历史流量统计,按天/周/月查询 长期带宽趋势分析 vnstat -m -i eth0
sar 系统级网络统计,联动CPU/I/O 结合系统性能分析网络瓶颈 部分需安装 sar -n DEV 1 5
iptraf-ng 图形化界面,支持协议和LAN分析 局域网流量监控,协议排查 iptraf-ng
tc 流量控制与队列统计 查看限速规则效果,QoS调试 内置 tc -s class show dev

相关问答FAQs

Q1:iftop显示的“total send”和“total receive”是什么意思?如何理解其数值单位?
A:“total send”和“total receive”分别表示从启动iftop到当前时刻,网络接口的总发送流量和总接收流量,默认单位为“比特”(bits),1.25M”表示1.25兆比特(Mbps);若使用-b参数,则单位为“字节”(bytes),1.25M”表示1.25兆字节(MB/s),注意:1字节=8比特,因此在对比流量时需确保单位一致,若需查看实时速率而非累计流量,关注界面中间的“=>”(发送)和“<=”(接收)列,其数值为当前瞬时速率。

Q2:如何通过nethogs找到并终止占用带宽的恶意进程?
A:步骤如下:

  1. 启动nethogs:使用sudo nethogs -t -d 2(按流量排序,每2秒刷新),以管理员权限运行才能查看所有进程;
  2. 定位异常进程:观察输出中的“SENT”和“RECEIVED”列,若发现某个进程(如PID为5678的python)速率异常高(如持续占用50MB/s以上),且进程名可疑(如非系统自带程序);
  3. 确认进程详情:通过ps -ef 5678查看进程路径、启动命令及用户,确认是否为恶意程序(如挖矿木马、后门);
  4. 终止进程:若确认异常,使用sudo kill 5678正常终止,或sudo kill -9 5678强制终止(需谨慎,可能导致数据丢失);
  5. 后续处理:检查系统是否有其他异常进程,并分析恶意程序的来源(如下载的软件、恶意脚本),及时修复安全漏洞。

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

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

相关推荐

  • Linux如何彻底卸载Weblogic的步骤?

    在Linux系统中卸载WebLogic需要谨慎操作,确保彻底清除安装文件、配置及环境变量,避免残留文件影响系统或其他应用,以下是详细的卸载步骤及注意事项,涵盖不同场景下的处理方法,卸载前准备工作备份关键数据卸载前务必备份以下内容,以防误操作导致数据丢失:WebLogic域目录(通常位于/oracle/Middl……

    2025年10月1日
    1100
  • Linux下怎么快速轻松查看U盘符

    命令行工具查看(推荐)lsblk 命令(最常用) lsblk输出示例:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 238.5G 0 disk├─sda1 8:1 0 512M 0 part /boot/efi└─sda2 8:2 0 238G 0 part……

    2025年7月16日
    5700
  • 无法打开文件怎么办

    当在Linux系统中遇到文件无法打开、读写异常或误操作等问题时,可通过以下系统级解决方案处理:权限问题(最常见原因)症状:Permission denied 错误解决方案:# 添加用户读写权限(示例)chmod u+rw 文件名# 更改文件所有者(需sudo权限)sudo chown 当前用户名:用户组 文件名……

    2025年7月26日
    4300
  • Linux系统下如何运行.sh文件?

    在Linux系统中,.sh文件是Shell脚本文件,它包含了一系列Shell命令,用于自动化执行任务,如文件操作、系统配置、程序启动等,运行.sh文件需要经过权限设置、执行方式选择等步骤,以下是详细操作流程和注意事项,运行.sh文件的前提:设置执行权限Linux系统基于权限管理,默认情况下,用户对普通文本文件只……

    2025年8月25日
    3300
  • 如何检查QLogic HBA驱动状态?

    Linux环境下光纤存储的配置与应用指南在Linux系统中配置光纤(Fibre Channel)存储是企业级应用的核心技能,涉及硬件连接、驱动管理、多路径配置等关键技术,本指南基于Linux内核原生工具和行业最佳实践,提供可落地的操作方案,硬件准备与基础概念硬件组件HBA卡(Host Bus Adapter……

    2025年6月14日
    5400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信