linux上如何查看进程带宽占用情况

方法一:使用 nethogs(最直观,按进程展现)

既然你已经安装了 nethogs,它是最方便的工具,能像 top 命令一样动态按进程(PID)程序名排队显示带宽占用。

1
sudo nethogs eth0
  • 如何看懂: 观察 PROGRAM 列,看排在最上面、PID 是多少、SENT(发送)和 RECEIVED(接收)速度最快的是哪个进程。
  • 快捷键: 运行中可以按 m 切换速度单位(kb/s, kb, b, mb)。

方法二:使用 iftop + lsof / ss(最推荐,适合查未知连接)

如果 nethogs 里显示 unknown,或者你想看流量具体发往了哪个外部 IP,可以用 iftop

安装并查看流量去向

1
2
3
4
5
6
7
# Ubuntu/Debian
sudo apt install iftop
# CentOS/RHEL
sudo yum install epel-release -y && sudo yum install iftop -y

# 运行 iftop 监控指定网卡
sudo iftop -i eth0 -P

💡 关键参数: 运行后,在界面里按下键盘上的 p 键(Port),这会显示本地端口