菜鸟科技网

netload命令如何使用?

netload 是一个在 Linux 系统中用于监控网络负载的实用工具,它不是 Linux 内核自带的命令(如 topvmstat),而通常是由 sysstat 软件包提供的。sysstat 包含了一系列用于收集、报告和保存系统活动信息的工具,netload 就是其中之一,专门用于显示网络接口的统计信息。

netload命令如何使用?-图1
(图片来源网络,侵删)

什么是 netload

netload 的主要作用是实时显示每个网络接口的数据传输速率(通常是 KB/s 或 MB/s),它通过读取 /proc/net/dev 文件来获取网络接口的累计数据包和字节数,然后在两次采样之间计算差值,从而得出速率。

核心功能:

  • 实时监控: 动态显示网络接口的接收和发送速率。
  • 接口统计: 展示每个网络接口的详细流量信息。
  • 诊断工具: 帮助管理员快速定位网络拥塞、异常流量或网络故障。

如何安装 netload

由于 netload 属于 sysstat 包,你需要先安装这个包,在基于 Debian/Ubuntu 的系统上,可以使用 apt;在基于 RHEL/CentOS/Fedora 的系统上,可以使用 yumdnf

对于 Debian / Ubuntu:

netload命令如何使用?-图2
(图片来源网络,侵删)
sudo apt update
sudo apt install sysstat

安装后,sysstat 的服务(sysstat)通常会自动启动并启用,它会定期收集系统统计数据。

对于 CentOS / RHEL / Fedora:

sudo yum install sysstat
# 或者使用 dnf (在较新的系统上)
sudo dnf install sysstat

同样,安装后建议启用其收集服务:

sudo systemctl enable --now sysstat

netload 的基本用法和选项

netload 命令的基本语法如下:

netload命令如何使用?-图3
(图片来源网络,侵删)
netload [选项] [网络接口...]

如果不指定任何网络接口,netload 会显示所有活动接口的统计信息。

常用选项:

选项 全称 描述
-s --sa 显示累计值,显示从系统启动以来的总字节数和总数据包数,而不是速率。
-S --sadc 显示累计值并持续更新,结合了 -s 和持续更新的功能。
-t --terse 简洁模式,只显示每秒传输的字节数(KB/s),不显示其他信息。
-T --traffic 流量模式,显示更详细的流量信息,包括每秒的数据包数。
-V --version 显示版本信息并退出。
-h --help 显示帮助信息并退出。

使用示例

示例 1:默认显示所有活动接口

这是最常用的方式,它会每隔2秒刷新一次数据,显示每个接口的接收和发送速率。

netload

输出示例:

Linux 5.15.0-88-generic (ubuntu-server)     11/20/2025  _x86_64_    (1 CPU)
12:00:00 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s    rxcmp/s    txcmp/s  rxmcst/s
12:00:02 AM      lo        0.0      0.0       0.0       0.0       0.0       0.0       0.0
12:00:02 AM    ens33      45.2     32.1      5.4       3.2       0.0       0.0       0.0
12:00:02 AM      docker0   12.5     15.8      1.2       1.8       0.0       0.0       0.0

输出列解释:

  • IFACE: 网络接口名称。
  • rxpck/s: 每秒接收的数据包数。
  • txpck/s: 每秒发送的数据包数。
  • rxkB/s: 每秒接收的千字节数 (这是最重要的流量指标)。
  • txkB/s: 每秒发送的千字节数 (这是最重要的流量指标)。
  • rxcmp/s: 每秒接收的压缩数据包数。
  • txcmp/s: 每秒发送的压缩数据包数。
  • rxmcst/s: 每秒接收的多播数据包数。

示例 2:监控特定网络接口

如果你想只关心 eth0 接口的流量,可以指定接口名:

netload eth0

示例 3:显示累计值(从启动至今)

使用 -s 选项,netload 不会显示速率,而是显示自系统启动以来的总接收和发送字节数。

netload -s

输出示例:

Linux 5.15.0-88-generic (ubuntu-server)     11/20/2025  _x86_64_    (1 CPU)
12:00:00 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s    rxcmp/s    txcmp/s  rxmcst/s
IFACE       rx_ok     rx_err    rx_drp    rx_ov     tx_ok     tx_err    tx_drp    tx_ov
lo          0         0         0         0         0         0         0         0
ens33    1234567      10         5         0     987654       3         2         0
docker0    12345       0         0         0     12345       0         0         0

注意:使用 -s 时,标题行的单位会变为累计值,数据列的含义也变为累计值。

示例 4:简洁模式(只显示 KB/s)

如果你只需要一个简单的流量读数,-t 选项非常有用,它只显示每秒的千字节数。

netload -t

输出示例:

Linux 5.15.0-88-generic (ubuntu-server)     11/20/2025  _x86_64_    (1 CPU)
12:00:00 AM     IFACE   rxkB/s   txkB/s
12:00:02 AM      lo        0.0       0.0
12:00:02 AM    ens33      5.4       3.2
12:00:02 AM      docker0   1.2       1.8

与其他网络监控工具的比较

工具 功能 特点
netload 显示网络接口的实时传输速率 简单、直接,专注于流量速率,属于 sysstat 套件。
iftop 显示主机间的实时带宽使用情况 按连接(IP对IP)和端口显示流量,能看出“谁在和谁通信”,非常强大,需要 libpcap
nethogs 进程显示网络带宽使用情况。 能快速定位是哪个进程(如 chrome, curl)在消耗网络,需要 libpcap
iptraf 一个功能全面的交互式网络监控工具 可以监控接口、TCP/UDP 连接、过滤器、包大小等,功能非常丰富,但界面是文本终端的。
vnstat 一个长期的网络流量统计和监控工具 它在后台持续收集数据,并可以按天、月、年等时间维度报告历史流量,适合做长期趋势分析。
  • 如果你想快速、简单地看当前每个网口的实时流量速度,用 netload
  • 如果你想看哪个IP在占用带宽,用 iftop
  • 如果你想看哪个程序在占用带宽,用 nethogs
  • 如果你需要历史流量报告,用 vnstat

注意事项

  1. 权限:普通用户通常可以直接运行 netload,因为它只读取 /proc 下的文件,这些文件对所有用户都是可读的。
  2. 数据源netload 的数据来源于 /proc/net/dev,这是一个内核虚拟文件系统,数据非常实时。
  3. 历史数据netload 本身不保存历史数据,它的历史数据功能依赖于 sysstat 包中的 sa1sa2 等收集器。sa1 会定期将 /proc/net/dev 的数据保存到 /var/log/sysstat/ 目录下的二进制文件中,sar 命令可以用来查看这些历史数据,要查看昨天 eth0 的网络流量,可以使用:
    sar -n DEV -s 00:00:00 -e 23:59:59
分享:
扫描分享到社交APP
上一篇
下一篇