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)
酷番叔酷番叔
上一篇 6小时前
下一篇 5小时前

相关推荐

  • 如何轻松掌握命令行工具核心技巧?

    在Linux系统中,覆盖目录指用新目录内容完全替换目标目录的现有内容,常用于更新文件、部署代码或同步数据,以下是详细操作方法和注意事项,结合E-A-T原则(专业性、权威性、可信度)提供可靠指导,引用官方文档和社区资源确保准确性,cp 命令(复制覆盖)作用:递归复制源目录内容到目标目录,覆盖同名文件,命令示例……

    2025年7月28日
    2400
  • Linux编译为何离不开强大工具链?

    编译的核心步骤代码编译分为四个阶段,以C语言为例(使用GCC编译器):预处理(Preprocessing)处理宏定义、头文件包含和条件编译,命令:gcc -E source.c -o source.i生成:.i 文件(展开后的纯代码),编译(Compilation)将预处理后的代码转换为汇编语言,命令:gcc……

    2025年7月27日
    2100
  • 如何安全分区硬盘避免数据丢失?

    烧录 Linux 安装盘完整指南烧录 Linux 安装盘是将 ISO 镜像文件写入 U 盘或 DVD 的过程,使其成为可引导的安装介质,以下是详细步骤,涵盖 Windows、macOS 和 Linux 三大系统,确保安全可靠,准备工作所需工具容量 ≥8GB 的 U 盘(或 DVD 光盘)Linux 系统 ISO……

    2025年6月14日
    4200
  • 如何获取最新安全补丁?

    为什么需要定期为Linux系统打补丁?补丁是修复软件漏洞、提升系统稳定性与安全性的关键更新,未及时打补丁的系统可能面临:高危漏洞利用(如远程代码执行、权限提升)恶意软件感染风险(勒索软件、挖矿程序)合规性违规(如GDPR、等保要求)硬件兼容性问题(内核更新修复驱动缺陷)Linux打补丁全流程详解(分发行版)通用……

    2025年7月6日
    3500
  • Linux如何查看VG(卷组)的UUID?

    在Linux系统中,LVM(逻辑卷管理)是一种灵活的磁盘管理方式,其中VG(卷组)是LVM的核心组件之一,由一个或多个物理卷(PV)组成,用于创建逻辑卷(LV),每个VG都有一个唯一的UUID(通用唯一标识符),用于在系统中唯一标识该卷组,尤其在脚本编写、故障排查或自动化管理中,准确获取VG UUID至关重要……

    7小时前
    200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信