vav*_*ava 57 networking linux bandwidth monitoring
我正在寻找一种实用程序,它可以显示每个进程使用了多少带宽。它应该只打印数据并退出,因为我想将该列表提供给 conky。
尝试atop
... 要充分利用它,您可能需要启用一些额外的内核补丁(I/O 会计补丁)。
如果atop
不是一个选项,则使用netstat -anp --inet
(以 root 用户身份)提供哪些进程正在使用哪些 TCP/UDP 端口(或可能lsof
用于该端口)的列表。从那里简单地迭代每个有一个开放套接字的进程,并使用ltrace -S
或strace
查看读取、写入、发送和接收,或使用tcpdump
指定本地 IP 地址和 TCP/UDP 端口的过滤器连接到它那些被列出。
atop
当然是其中最方便的……如果你有它并安装了必要的内核支持。过去,我曾让客户和雇主设置特殊系统(不同于他们的生产映像),其唯一目的是使用atop
. 然而,这些其他技术会让你到达那里。
我相信我们也可以使用 SystemTap 做一些事情……但我不知道有任何简单的预煮食谱可以做到这一点。SystemTap 在很大程度上是一个编程分析工具。