优先用nload查看实时吞吐,它直接读取/proc/net/dev、响应快、单位默认为比特(bit),支持快捷键切换单位(如按m设为Mbit/s),并以ASCII动态图直观显示瞬时收发速率。

直接看实时吞吐,优先用 nload
想一眼看清网卡当前收发速率,nload 是最省事的选择。它不抓包、不解析连接,直接读取内核的 /proc/net/dev 计数器,响应快、无延迟,且默认单位是比特(bit),避免和字节(byte)混淆。
- 没装就先装:
sudo apt install nload(Debian/Ubuntu)或sudo yum install nload(RHEL/CentOS) - 运行即用:
nload自动选第一个活跃非lo接口;指定接口用nload ens33 - 单位切换按
m键,推荐设成M(兆比特每秒),比默认的k更符合实际带宽认知 - 注意:它显示的是瞬时速率,不是平均值;峰值会跳动,盯 2–3 秒再判断是否真高负载
要定位哪个 IP 或端口在吃带宽,必须用 iftop
iftop 的价值不在“总吞吐”,而在“谁在用”。它基于 libpcap 抓包,能精确到 192.168.1.100:5432 → 10.0.2.3:8080 这种粒度,适合排查异常连接或 DDoS 源头。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 必须加
-n:禁用 DNS 解析,否则界面卡顿、数值跳变 - 加
-B:强制以字节(B)为单位,避免误把Mb/s当成MB/s - 过滤特定目标:
sudo iftop -F 10.0.0.0/24或sudo iftop -f "port 22" - 别漏权限:普通用户无法抓包,
sudo不可省;但sudo iftop -n后按P可暂停刷新,方便截图记录
需要周期性采样或查历史数据,sar -n dev 才靠谱
sar 不是实时工具,但它能告诉你“过去 5 分钟每秒发生了什么”。如果你发现某时段吞吐突增,又没人在现场盯屏,sar 就是唯一能回溯的依据。
- 先确认 sysstat 已启用:
sudo systemctl enable sysstat,否则/var/log/sysstat/里没数据 - 实时采样命令:
sar -n dev 1 5表示每秒取一次,共 5 次;关键列是rxkB/s和txkB/s(注意单位是千字节,不是千比特) - 历史查询:
sar -n dev -f /var/log/sysstat/sa07(假设今天是 7 号) - 陷阱:
sar默认输出单位是 kB/s,而网卡标称带宽常用 Mbps,换算时别直接除以 8——得先确认是 bit 还是 byte,再决定 ×1.024 或 ÷8
脚本化监控或嵌入自动化流程,绕不开 /proc/net/dev
所有图形化工具底层都读这个文件。它只存累计字节数,没有速率,所以你要自己做差值计算。优点是零依赖、稳定、可嵌入任何 shell 脚本。
- 字段位置固定:
cat /proc/net/dev输出中,第 2 列是接收字节数(rx_bytes),第 10 列是发送字节数(tx_bytes) - 简单轮询命令:
watch -n 1 'grep ens33 /proc/net/dev | awk "{print \$2/1024/1024 \" MB/s RX\"; print \$10/1024/1024 \" MB/s TX"}' - 注意:两次读取间隔不能太短(10s),否则瞬时峰值会被平滑掉
- 真实脚本里建议加
sleep前校验接口是否存在,避免grep匹配失败导致计算出负数
iftop 默认显示 bit,nload 默认也是 bit,但 sar 和 /proc/net/dev 给的是 byte。看错一个数量级,排查方向就全偏了。

















