Linux使用nload查看网卡实时流量

作者:技术拾光

时间:2026-06-27

浏览:544

nload是轻量级Linux实时流量监控工具,直接读取/proc/net/dev。现代系统网卡非eth0名,需用ip命令查活跃网卡并显式指定;默认单位KB/s而非kbit/s,可加-u切换;刷新建议t=200ms,多网卡用-m切换;硬件卸载会干扰计数。适合扫整体吞吐,不记录历史或查进程。

文章目录

说到 Linux 下的实时流量监控工具,nload 算得上是轻量级里的“老兵”——不抓包、不解析连接,直接读 /proc/net/dev,快而且轻。但很多刚上手的人一运行就发现显示 0 或者直接报错退出。不要急于怀疑工具故障,十有八九是选错了网卡,或者对单位的理解出现了偏差。

Linux使用nload查看网卡实时流量

为什么 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 的价值在于“一眼扫清整体吞吐”,但它最常被误用的地方是当作万能工具去查连接、看进程、追历史。盯实时总量它很稳,超出这个范围的事,还是交给其他工具吧。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章