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

什么是 netload?
netload 的主要作用是实时显示每个网络接口的数据传输速率(通常是 KB/s 或 MB/s),它通过读取 /proc/net/dev 文件来获取网络接口的累计数据包和字节数,然后在两次采样之间计算差值,从而得出速率。
核心功能:
- 实时监控: 动态显示网络接口的接收和发送速率。
- 接口统计: 展示每个网络接口的详细流量信息。
- 诊断工具: 帮助管理员快速定位网络拥塞、异常流量或网络故障。
如何安装 netload?
由于 netload 属于 sysstat 包,你需要先安装这个包,在基于 Debian/Ubuntu 的系统上,可以使用 apt;在基于 RHEL/CentOS/Fedora 的系统上,可以使用 yum 或 dnf。
对于 Debian / Ubuntu:

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 [选项] [网络接口...]
如果不指定任何网络接口,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。
注意事项
- 权限:普通用户通常可以直接运行
netload,因为它只读取/proc下的文件,这些文件对所有用户都是可读的。 - 数据源:
netload的数据来源于/proc/net/dev,这是一个内核虚拟文件系统,数据非常实时。 - 历史数据:
netload本身不保存历史数据,它的历史数据功能依赖于sysstat包中的sa1和sa2等收集器。sa1会定期将/proc/net/dev的数据保存到/var/log/sysstat/目录下的二进制文件中,sar命令可以用来查看这些历史数据,要查看昨天 eth0 的网络流量,可以使用:sar -n DEV -s 00:00:00 -e 23:59:59
