nethogs是最贴近“进程级网络io利用率排名”的工具,直接显示每个进程的实时收发速率(kb/s或mb/s),单位清晰、排序直观,需sudo权限和-p指定网卡,统计的是瞬时带宽而非百分比。

用 nethogs 实时按进程查网络带宽占用
这是最贴近“进程级网络IO利用率排名”的工具,直接显示每个进程的实时收发速率(KB/s 或 MB/s),单位清晰、排序直观,不需要额外计算百分比。
常见错误是直接运行 nethogs 却没加 -p 参数,导致看不到 PID;或者没用 sudo 权限,部分进程(尤其是非当前用户启动的 daemon)根本不会显示。
- 安装:
sudo apt install nethogs(Debian/Ubuntu)或sudo yum install nethogs(RHEL/CentOS) - 基础命令:
sudo nethogs -p eth0(eth0换成你实际网卡名,如ens3、enp0s3) - 交互操作:按
m切换单位(KB/s → MB/s → B/s),按r重排序(默认按总流量,可切为按 recv/send),按q退出
注意:nethogs 统计的是**瞬时带宽**,不是“利用率百分比”。它不和网卡理论带宽(如 1Gbps ≈ 125MB/s)做对比,所以看到某进程占 30MB/s,不能直接说“用了 24%”,得你自己算。这点容易被误读。
pidstat -r -n 1 输出带网络IO字段的进程快照
pidstat 是 sysstat 包里的工具,能同时输出 CPU、内存、磁盘 IO 和网络 IO(需内核支持),适合写脚本定期采集或对比历史趋势。
关键点在于:网络 IO 字段(Recv_KB/s、Send_KB/s)只在较新内核(≥ 4.16)和新版 sysstat(≥ 12.0.0)中默认启用。旧版本即使加了 -n 也为空。
- 检查是否可用:
pidstat -n 1 1,看输出头是否有Recv_KB/s和Send_KB/s - 可靠命令:
sudo pidstat -r -n -p ALL 1(每秒刷新,包含所有进程,含线程) - 导出 CSV:
sudo pidstat -r -n -p ALL 1 5 > netio-report.csv(采样 5 次后保存)
缺点:它不自动排序,得靠 sort -k7,7nr 这类管道处理;且数值是滚动平均值,不是峰值,对突发流量不敏感。
用 ss + lsof 定位高连接数但低带宽的“假热点”进程
有些进程(比如 nginx、java 应用)可能建立了大量 TCP 连接,但单连接流量极小,nethogs 看不出压力,却拖慢系统——这时“连接数”比“带宽”更关键。
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
典型现象:nethogs 显示所有进程都不到 100KB/s,但 ss -s 报告 ESTAB 连接数超 5000,netstat -s | grep "packet retransmits" 显示重传率高。
- 查连接数最多的进程:
sudo ss -tunp | awk '{print $7}' | sort | uniq -c | sort -nr | head -10 - 查某进程打开的 socket 数:
sudo lsof -i -p <code>PID| wc -l - 查监听端口及对应进程:
sudo ss -tulpn(u含 UDP,p显示 PID)
这里 lsof -i 的输出里,TCP 或 UDP 后面的数字是 socket 数量,不是带宽。别把它当 IO 速率用。
别指望 top 的 “Net I/O” 排序字段
很多文档说 “top → Shift+F → o → Net I/O”,但这个功能在主流发行版(包括 RHEL 8+/Ubuntu 22.04+)的 procps-ng 版本中已被移除。你按完只会看到 “No field ‘Net I/O’ available” 错误。
原因:Linux 内核没有提供统一的 per-process 网络 IO 计数器(不像 /proc/PID/io 有磁盘 IO),top 无法安全获取该数据,所以干脆删了这个选项。
替代方案只有两个:nethogs(带宽视角)或 ss+lsof(连接数/状态视角)。硬要塞进 top 的,只能靠第三方 patch 或改用 htop 插件(不稳定、维护差)。
真正难的不是找命令,而是区分“带宽打满”和“连接打爆”——前者看 nethogs 的 KB/s,后者看 ss -s 的 ESTAB 数和 lsof -i 的 socket 列表。两者压根不是一回事,混用会漏掉真实瓶颈。










