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)带宽,若某进程占用大量入网带宽,可结合ps或top进一步分析。

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-ng是iptraf的升级版,提供图形化界面,支持监控接口流量、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: 可结合vnstat和bc计算实时带宽,通过mail或curl发送告警,编写脚本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系统中,如何运行Windows的bat文件呢?

    在Linux系统中直接运行Windows批处理文件(.bat)是不可行的,因为bat文件是Windows命令行环境(cmd.exe)的脚本,依赖Windows特定的命令语法和系统调用,而Linux使用不同的内核(Linux内核)和命令行解释器(如bash、zsh等),两者在命令语法、文件系统结构、进程管理等方面……

    2025年9月30日
    32900
  • 双系统安装如何避免风险?

    备份重要数据后,首先安装Windows系统并预留足够未分配磁盘空间,随后在预留空间中安装Linux系统,安装程序会自动配置引导加载程序(如GRUB),实现双系统启动选择,注意分区操作谨慎,推荐UEFI模式安装。

    2025年7月4日
    47100
  • 如何查询Linux系统是否已设置为UTF-8编码?

    在Linux系统中,UTF-8是一种广泛使用的字符编码,能够兼容全球大多数语言的字符,确保多语言环境下的正常显示和处理,查询系统是否支持UTF-8编码,通常需要从环境变量、系统locale配置、文件系统编码及终端编码等多个维度进行验证,以下是具体操作方法和步骤,通过环境变量检查当前编码设置Linux系统的语言和……

    2025年10月8日
    25400
  • Linux如何解除软连接?

    在Linux系统中,软连接(也称为符号链接)是一种特殊的文件,它指向另一个文件或目录,类似于Windows系统中的快捷方式,软连接独立于源文件存在,删除软连接不会影响源文件本身,但若软连接指向的源文件被删除,软连接会变成“悬空链接”(dangling link),访问时提示“No such file or di……

    2025年9月23日
    24100
  • 如何通过图形界面快速查看已保存密码?新手必看!

    在浏览器设置中点击密码管理器,即可查看已保存的账号和对应密码,此图形界面操作直观简单,无需命令,特别适合新手用户使用。

    2025年7月29日
    34800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信