nload启动后显示0或报错,主因是选错网卡(如现代系统用ens33而非eth0)或单位误解(默认kb/s非kbit/s);需先用ip -br link确认活跃接口,再显式指定如nload ens33,并注意-u大小写区分字节/比特单位。

nload 默认只读 /proc/net/dev,不抓包、不解析连接,所以它快且轻——但这也意味着你一运行就可能“看不到流量”,不是工具坏了,而是选错了网卡或单位理解错了。
为什么 nload 启动后显示 0 或报 “Device eth0 not found”
现代 Linux 系统基本不用 eth0 这种名字,而是用 ens33、enp0s3、enx001122334455 这类可预测名称。内核启动时若没找到 eth0,nload 就直接报错退出。
- 先查真实活跃网卡:
ip -br link | grep UP,过滤掉lo、docker0、veth*等非物理/主网卡 - 确认后显式指定:
nload ens33,别依赖默认行为 - 如果仍为 0,用
tcpdump -i ens33 -c 2 port 80验证该接口是否真有进出包 - 某些虚拟化环境(如 LXC、OpenVZ)里,
/proc/net/dev可能不更新或滞后,此时nload显示偏低甚至恒为 0,需换iftop -P交叉验证
nload 的单位是 KB/s,不是 kbit/s —— 这个坑踩一次就够
顶部显示的 Cur:、Avg: 全部是字节(B),不是比特(b)。如果你的带宽是 100 Mbit/s,理论最大下载速度约 12.5 MB/s = 12500 KB/s;nload 显示 1500 KB/s,实际只占 12% 左右。
- 加
-u b切成比特单位:nload -u b ens33,数值变大 8 倍,单位变成kbit/s、Mbit/s -
-u M是 MB/s,-u m是 Mbit/s —— 大小写敏感,别写反 - 避免心算:直接用
-u M看 MB/s,和你买的宽带套餐单位对齐
怎么让 nload 更准、更实用
nload 不是“装完就能用”,几个关键参数直接影响你能不能抓住突发流量或看清趋势。
- 刷新太快反而失真:默认 100ms 刷新,但内核统计有延迟;建议
-t 200(200ms)更稳,低于 100ms 没意义 - 多网卡切换:加
-m启用多设备模式,启动后按左右方向键轮换,适合有公网+内网双网卡的服务器 - 硬件卸载干扰:如果网卡开了
tx offload或rx offload,部分流量不走内核协议栈,/proc/net/dev就不计数;用ethtool -k ens33查,临时关掉:ethtool -K ens33 tx off rx off - 它不记录历史、不输出日志、不关联进程——想存数据或查谁在传,得切到
vnstat或iftop -P
nload 的价值在于“一眼扫清整体吞吐”,但它最常被误用的地方,就是当成万能工具去查连接、看进程、追历史。盯实时总量它很稳,越界的事,得交给别的工具。











