Linux如何查看实时入网带宽使用情况?

在Linux系统中,监控入网带宽(即网络接口的接收带宽,RX)是系统管理和网络排查的重要任务,通过查看入网带宽,可以了解网络流量使用情况、识别异常流量、优化网络配置等,本文将详细介绍Linux系统中查看入网带宽的多种方法,涵盖命令行工具、图形化工具及历史统计工具,帮助用户根据实际需求选择合适的监控方式。

linux如何查看入网带客

实时监控入网带宽的命令行工具

实时监控工具能够动态展示当前网络接口的接收速率、流量数据等,适用于短期流量分析和故障排查,以下是常用的实时监控工具:

iftop:按连接显示实时带宽

iftop是一款基于终端的带宽监控工具,以列表形式显示各个连接的实时接收(RX)和发送(TX)带宽,并支持按带宽大小排序、显示源/目标IP及端口等信息。

  • 安装方法(以Ubuntu/Debian为例):

    sudo apt install iftop
  • 使用示例

    iftop -i eth0  # 指定监控eth0接口,默认显示所有连接
    • 常用参数
      • -n:不解析主机名,直接显示IP地址;
      • -N:不解析端口号;
      • -t:不显示界面顶部的流量条,适合日志输出;
      • -P:显示端口信息。
  • 输出说明
    界面顶部显示“total send”和“total receive”的实时带宽,中间列表按连接排序,=>表示发送,<=表示接收,右侧数值为当前带宽(单位为kb/s或Mb/s)。

nethogs:按进程显示带宽占用

nethogs以进程为单位监控带宽使用情况,能够快速定位占用大量入网带宽的进程,适合排查恶意程序或异常应用。

  • 安装方法

    sudo apt install nethogs  # Ubuntu/Debian
    sudo yum install nethogs  # CentOS/RHEL
  • 使用示例

    nethogs -d 5  # 每5秒刷新一次,默认监控所有接口
    nethogs -i eth0  # 指定监控eth0接口
    • 常用参数
      • -d:刷新间隔(秒);
      • -t:跟踪模式,显示TCP连接;
      • -p:避免混淆PID和端口。
  • 输出说明
    显示进程名(PID)、当前接收(RX)和发送(TX)带宽,若某进程占用大量入网带宽,可结合pstop进一步分析。

bmon:带图形化界面的带宽监控

bmon(Bandwidth Monitor)是一款灵活的带宽监控工具,支持实时图表和文本输出,可自定义显示内容(如流量、累计数据、错误包等)。

  • 安装方法

    sudo apt install bmon
  • 使用示例

    linux如何查看入网带客

    bmon -r eth0  # 监控eth0接口的接收流量(-r表示接收)
    • 常用参数
      • -p:显示端口统计;
      • -u:使用单位(如kb、Mb、Gb);
      • -o "ascii:detail":指定输出格式为详细文本模式。
  • 输出说明
    默认界面分为两部分:左侧为实时流量柱状图(蓝色表示接收,红色表示发送),右侧为详细统计信息(如总接收字节数、当前速率等)。

iptraf-ng:综合性网络监控工具

iptraf-ngiptraf的升级版,提供图形化界面,支持监控接口流量、TCP/UDP连接、IP流量分布等,功能全面。

  • 安装方法

    sudo apt install iptraf-ng
  • 使用示例

    sudo iptraf-ng -i eth0  # 以root权限启动,选择"Interface"监控eth0
    • 操作步骤
      启动后选择“Interface statistics”,指定接口即可查看实时接收/发送带宽、包数、错误率等信息。

历史统计与长期带宽监控工具

实时监控无法保留历史数据,若需分析长期带宽趋势(如日/周/月流量统计),需使用历史记录工具:

vnstat:基于数据库的流量统计

vnstat通过记录网络接口的流量数据,生成历史统计报告,支持按天、周、月显示,适合长期带宽趋势分析。

  • 安装方法

    sudo apt install vnstat
  • 使用示例

    vnstat -i eth0  # 显示eth0的实时流量(默认显示当天)
    vnstat -d -i eth0  # 显示每日统计(过去几天)
    vnstat -w -i eth0  # 显示每周统计
    vnstat -m -i eth0  # 显示每月统计
    • 常用参数
      • -l:实时流量模式(类似iftop);
      • -h:显示小时统计;
      • -tr:显示接收速率(RX rate)。
  • 数据存储
    vnstat默认将数据存储在/var/lib/vnstat/目录下,可通过vnstat --dbdir指定自定义路径。

sar:系统活动报告工具

sar(System Activity Reporter)是sysstat包的一部分,可收集并报告系统历史数据,包括网络接口的接收/发送速率、包数等。

  • 安装方法

    sudo apt install sysstat  # Ubuntu/Debian
    sudo yum install sysstat  # CentOS/RHEL
  • 使用示例

    linux如何查看入网带客

    sar -n DEV 1 5  # 每秒更新一次,共5次,显示所有网络设备统计
    sar -n DEV -s 10:00:00 -e 12:00:00  # 查看指定时间段的网络流量
    • 输出说明
      rxpck/s(接收包数/秒)、rxkB/s(接收千字节/秒)、rxcmp/s(接收压缩包数/秒)等指标,其中rxkB/s直接反映入网带宽。

ip命令:查看接口累计流量

Linux原生ip命令可查看网络接口的统计信息,包括接收(RX)和发送(TX)的总字节数、包数、错误数等,适合快速检查接口流量。

  • 使用示例
    ip -s link show eth0  # 显示eth0的详细统计信息
    • 输出说明
      RX部分,bytes表示总接收字节数,packets表示总接收包数,errors表示接收错误数,通过bytes可计算时间段内的平均带宽。

图形化网络监控工具

对于习惯图形界面的用户,以下工具可直观展示入网带宽:

gnome-system-monitor(GNOME环境)

GNOME自带的系统监控器,包含“网络”标签页,实时显示各接口的接收/发送速率,支持图表化展示。

  • 使用方法
    启动gnome-system-monitor,切换到“网络”选项卡,即可查看当前网络带宽使用情况。

ksysguard(KDE环境)

KDE桌面环境的系统监控工具,支持自定义监控面板,可添加网络流量图表,实时显示入网带宽。

  • 使用方法
    启动ksysguard,在“传感器”中搜索“网络”相关传感器,拖拽至面板即可监控。

常用带宽监控工具对比

以下表格总结了上述工具的特点及适用场景:

工具名称 主要用途 安装命令(Ubuntu/Debian) 关键参数/特点 适用场景
iftop 按连接实时监控带宽 sudo apt install iftop -i指定接口,-n不解析主机名 短期流量分析、连接排查
nethogs 按进程监控带宽占用 sudo apt install nethogs -d刷新间隔,-i指定接口 异常进程定位
bmon 图形化/文本实时监控 sudo apt install bmon -r接收流量,-o自定义输出格式 可视化实时监控
iptraf-ng 综合网络监控(接口/协议) sudo apt install iptraf-ng 图形化界面,支持TCP/UDP统计 全面网络分析
vnstat 历史流量统计 sudo apt install vnstat -d/-w/-m按天/周/月统计 长期带宽趋势分析
sar 系统历史数据报告 sudo apt install sysstat -n DEV查看网络统计,支持时间范围查询 企业级历史数据审计
ip 接口累计流量查看 内置命令 -s link show显示详细统计 快速检查接口流量

Linux查看入网带宽的工具丰富多样,可根据需求选择:

  • 实时监控:优先使用iftop(连接级)、nethogs(进程级)或bmon(可视化);
  • 历史统计vnstat适合长期趋势,sar适合企业级数据审计;
  • 图形化界面:GNOME的gnome-system-monitor或KDE的ksysguard适合桌面用户。

通过合理搭配这些工具,可全面掌握网络带宽使用情况,及时发现并解决网络问题。

相关问答FAQs

Q1: 如何查看特定进程的入网带宽占用?

A: 使用nethogs工具可按进程监控带宽占用,执行sudo nethogs -i eth0,在输出结果中查看“PID”和“RX”列,即可定位占用入网带宽的具体进程,若需进一步分析,可结合ps -ef | grep <PID>查看进程详细信息。

Q2: 如何设置带宽告警,当入网带宽超过阈值时通知管理员?

A: 可结合vnstatbc计算实时带宽,通过mailcurl发送告警,编写脚本check_bandwidth.sh

#!/bin/bash
INTERFACE="eth0"
THRESHOLD_MB=100  # 阈值100MB/s
vnstat -l -i $INTERFACE | grep "rx" | awk '{print $3}' | sed 's/Mb//' > /tmp/rx_rate
current_rate=$(cat /tmp/rx_rate)
if (( $(echo "$current_rate > $THRESHOLD_MB" | bc -l) )); then
    echo "入网带宽超过阈值: ${current_rate}Mb/s" | mail -s "带宽告警" admin@example.com
fi

将脚本加入cron定时任务(如每分钟执行一次),即可实现带宽超限告警。

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

(0)
酷番叔酷番叔
上一篇 2025年10月7日 13:17
下一篇 2025年10月7日 13:39

相关推荐

  • Linux如何更改时区?具体操作步骤与命令详解

    在Linux系统中,正确设置时区对系统日志记录、应用运行时间同步、定时任务执行等至关重要,不同Linux发行版更改时区的方法略有差异,但核心逻辑一致,本文将详细介绍几种主流操作方式,使用timedatectl命令(推荐,适用于systemd系统)现代Linux发行版(如Ubuntu 16.04+、CentOS……

    2025年9月24日
    2200
  • linux上如何测试网络连接

    Linux上,可用ping命令测试网络连接,如ping 目标地址;

    2025年8月18日
    3500
  • Linux下如何打开frm文件?实用方法步骤有哪些?

    在Linux系统中,打开frm文件需要先明确其类型,因为“.frm”后缀可能对应不同格式的文件,最常见的场景是MySQL数据库的表结构文件(存储表定义信息),也可能是Visual FoxPro的表文件或其他软件的配置文件,本文将以最常见的MySQL frm文件为重点,兼顾其他可能性,介绍具体打开方法,确认frm……

    2025年8月25日
    3400
  • 如何立即退出Linux目录?

    返回上一级目录(最常用)命令:cd ..原理: 代表当前目录的父目录(上一级目录),操作示例: # 当前路径:/home/user/documents$ cd .. # 执行后路径变为:/home/user效果:直接退回上一层目录,可连续使用(如 cd ../.. 退回两级),返回上一次所在的目录命令:cd……

    2025年7月2日
    4700
  • Linux网络故障?命令行秒解秘籍!

    基础连通性测试pingping -c 4 example.com # 发送4个ICMP包测试连通性关键输出:64 bytes from…(收到响应)packet loss(丢包率)time=20.3 ms(延迟)中断:Ctrl+Ctraceroutetraceroute example.com # 追踪数据……

    2025年6月16日
    5300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信