![如何确定 Linux 中某个进程使用了多少带宽](https://linux22.com/image/1278804/%E5%A6%82%E4%BD%95%E7%A1%AE%E5%AE%9A%20Linux%20%E4%B8%AD%E6%9F%90%E4%B8%AA%E8%BF%9B%E7%A8%8B%E4%BD%BF%E7%94%A8%E4%BA%86%E2%80%8B%E2%80%8B%E5%A4%9A%E5%B0%91%E5%B8%A6%E5%AE%BD.png)
答案1
您可以使用
iptraf
或者
iftop -P
识别消耗大量带宽的连接。连接由一对 (localip:port, remoteip:port) 标识。然后您可以使用
netstat -tunp
查找哪个进程使用了该连接。不过,大多数情况下,您只能通过查看端口来判断哪个服务负责,例如,如果连接localip:80
在本地使用,则可能是您的网络服务器 ;-)
答案2
嗯,有,iftop
但是那只显示源和目的地,而不是导致流量的程序。
编辑:
刚刚发现nethogs
。它完全符合您的要求。
答案3
它能很好地显示哪些 IP / 主机正在使用带宽。它可以将信息隔离到单个程序或端口。
命令Iftop
一旦运行,您就可以使用 H 或 ? 访问帮助菜单。它有许多有用的选项
Host display: General:
n - toggle DNS host resolution P - pause display
s - toggle show source host h - toggle this help display
d - toggle show destination host b - toggle bar graph display
t - cycle line display mode B - cycle bar graph average
T - toggle cummulative line totals
Port display: j/k - scroll display
N - toggle service resolution f - edit filter code
S - toggle show source port l - set screen filter
D - toggle show destination port L - lin/log scales
p - toggle port display ! - shell command
q - quit
Sorting:
1/2/3 - sort by 1st/2nd/3rd column
< - sort by source name
> - sort by dest name
o - freeze current order
iftop, version 0.17
答案4
这SSH 系统管理工具具有带宽监控设施。