在 Linux 上,如何测量某个进程完成后所使用的带宽?

在 Linux 上,如何测量某个进程完成后所使用的带宽?

有没有办法在进程完成后获取 Linux 上给定进程使用的带宽摘要?我不想要监视器,我想要任务完成后可以查看的东西。

理想情况下是类似“时间”命令或分析器的东西,但用于网络使用。

答案1

答案2

可以使用基于 PID 的 iptables 来计算进出的数据包数量,我知道在进程启动之前知道 PID 几乎是不可能的。根据您的情况,这可能依赖于此。

iptables -A OUTPUT -p TCP -m owner --pid-owner $PID -j ACCEPT

您可以使用以下命令检查规则是否被命中以及有多少数据包被命中。

iptables-save -c

答案3

跟踪功能非常强大,可能能够完成您想要的功能。不过,也许它有点太低级了……

答案4

从等待用户输入的脚本调用进程,完成主进程后即可。这样,它就不会终止,您可以使用 ntop 或 nethogs 查看它下载/上传了多少内容。

相关内容