nload报“Device eth0 not found”是因为Linux默认网卡名已改为ens33等新命名,nload默认只查eth0;需先用ip -br a查真实接口名,再指定如nload ens33。

直接看整体吞吐量用 nload,想定位谁在传数据就用 iftop——两者不冲突,但用途完全不同,选错工具会浪费大量排查时间。
为什么 nload 启动后报 “Device eth0 not found”
Linux 网卡名已普遍脱离 eth0 命名(如 ens33、enp0s3、eno1),nload 默认只找 eth0,找不到就报错。
- 先运行
ip -br a查真实接口名,再显式指定:nload ens33 - 加
-m参数可一次性列出所有活跃网卡,用左右方向键切换查看 -
nload -u M ens33把单位强制设为 MB/s,避免误读 kbit/s 和 KB/s 的数量级差异 - 它不显示进程、不解析协议、不抓包,只读
/proc/net/dev,所以即使在 OpenVZ 容器里也能跑
iftop 报 “Unable to get list of interfaces” 怎么办
这不是网卡问题,是权限或依赖缺失:普通用户无法调用 libpcap 进行原始包捕获,且部分系统没预装底层库。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- Ubuntu/Debian 上补全依赖:
sudo apt install iftop libpcap-dev - CentOS/RHEL 8+ 先启 EPEL:
sudo dnf install epel-release && sudo dnf install iftop libpcap - 必须加
sudo运行,sudo iftop -n是最安全的起步姿势(-n禁 DNS 解析,防卡顿) - 若仍失败,检查是否被 SELinux 或容器限制了
AF_PACKET权限——此时换用nethogs更实际
用 iftop 定位高流量连接的关键操作
iftop 界面信息密集,但真正有用的就那几项,乱按键反而错过重点。
- 启动后立刻按
P(大写)关闭端口解析,避免每行都查 DNS 拖慢刷新 - 按
Shift+P切换是否显示端口号——:443比:52491更容易判断是 HTTPS 流量 - 按
l进入过滤模式,输入192.168.1.100或example.com可快速聚焦目标 - 顶部显示的
2.4KB是瞬时速率(字节/秒),不是累计值;底部Tx: 12MB才是当前会话总发送量
别把 nload 和 iftop 当成“带宽是否跑满”的唯一依据
看到 RX/TX 接近 100MB/s 就断定“千兆网卡打满了”?很可能误判——理论值和实际可用值之间有固定损耗。
- 先用
ethtool ens33确认协商速率:Speed: 1000Mb/s表示千兆全双工,理论极限是 125MB/s(1000 ÷ 8) - 但 TCP/IP 协议头、以太网帧间隙、中断延迟会让持续传输上限落在 110–115MB/s 区间
- 如果
nload显示稳定 118MB/s,更可能是网卡或驱动异常,而非业务真占满带宽 - 真正瓶颈常藏在另一层:比如
ss -s显示大量SYN-RECV,说明连接堆积在 TCP 握手阶段,和带宽无关

















