Linux实时网速与带宽查看工具推荐
时间:2026-05-20 15:18:45 130浏览 收藏
Linux系统中实时监控网络流量需根据具体需求选择互补工具:nload适合直观查看网卡瞬时速率,nethogs精准定位高带宽消耗的进程(直接关联PID与流量),iftop则擅长分析连接级细节(如哪个IP和端口在通信);但三者各有局限——iftop无法显示进程名,nload易被图表误导且受虚拟化环境影响,nethogs依赖正确指定网卡并需sudo权限;真正可靠的诊断从来不是依赖单一工具,而是结合三层视角交叉验证,穿透内核收包、iptables规则、容器网络等层层抽象,直击真实带宽归属。

直接看结论:查实时网速用 nload 最省心,查哪个进程在吃带宽用 nethogs 最准,查连接级流量(比如谁连了 80 端口)用 iftop 最合适——三者不冲突,经常要一起开。
为什么不用 iftop 查进程带宽
iftop 显示的是每个 socket 连接的流量(IP+端口),但它不显示所属进程名或 PID。即使加了 -P 或 -p 参数,它也只做端口解析,不调用 /proc 查归属。所以当你看到某 IP:45678 占满带宽时,没法立刻知道是 curl 还是 python3 app.py 在发包。
- 常见错误现象:
iftop -n看到高流量连接,ps aux | grep :45678却搜不到——因为端口可能已释放,或进程没在命令行里暴露端口 - 真正能关联进程和连接的,是
nethogs,它直接读取/proc/和/fd/ /proc/,天然支持按进程聚合/net/tcp - 性能影响:
iftop依赖 libpcap 抓包,开启混杂模式(-p)会轻微增加 CPU 开销;nethogs是轮询 /proc,开销更小但无法捕获 UDP 碎片或内核模块直连流量
nload 的图表和单位容易误解
nload 默认显示的是「当前速率」(KB/s 或 MB/s),不是累计量,但它的柱状图纵轴没有刻度标识,新手常误以为峰值就是“总带宽”。实际它只反映瞬时吞吐,且默认采样周期约 500ms,对突发短连接(如 HTTP/2 多路复用)不敏感。
- 关键参数:
nload -u M eth0强制单位为 MB/s;nload -t 1000把刷新间隔拉到 1 秒,避免视觉抖动 - 容易踩的坑:在虚拟机或容器里跑
nload,看到的可能是宿主机网卡聚合值,而非容器实际出口流量;此时应进容器 ns 执行:nsenter -t-n nload - 兼容性注意:某些嵌入式 Linux(如 OpenWrt)默认没编译 curses 支持,
nload会报错error opening terminal,得换vnstat -l看近一分钟滚动统计
nethogs 启动必须加设备名才可靠
运行 nethogs 不带参数时,它会自动选第一个非 lo 接口(通常是 eth0),但若系统有多个网卡(比如 ens33、docker0、vethxxx),它可能监控错设备,导致“明明在传大文件却看不到流量”。
- 正确做法:先用
ip -br a确认目标接口名,再显式指定:nethogs ens33 - 特殊场景:监控 Docker 容器流量,不能只盯
docker0,因为容器出向流量会经iptablesSNAT 到宿主机 IP——此时得在宿主机上用nethogs监控物理网卡,再结合docker top对 PID - 权限问题:
nethogs需要CAP_NET_RAW能力,普通用户执行会报Unable to create socket,必须加sudo;但sudo nethogs -p(混杂模式)在某些内核版本下会触发 SELinux 拒绝,得临时设为 permissive 模式
真正难搞的从来不是工具本身,而是网络栈分层带来的视角差:内核收包、iptables 修改、cgroup 限速、容器网络命名空间……这些都会让一个“简单”的网速数字变得上下不一致。别迷信单个工具的输出,交叉验证才是常态。
以上就是《Linux实时网速与带宽查看工具推荐》的详细内容,更多关于的资料请关注golang学习网公众号!
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
130 收藏
-
405 收藏
-
215 收藏
-
244 收藏
-
113 收藏
-
122 收藏
-
109 收藏
-
273 收藏
-
417 收藏
-
220 收藏
-
114 收藏
-
409 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习