如何测量一个进程从执行开始到结束的累计网络使用量

如何测量一个进程从执行开始到结束的累计网络使用量

我想测量带宽的git pull使用量,最好通过在 git 命令前加上所需的程序,即nettally git pull

或者,是否存在一些偷偷摸摸的方法来积累 nethogs / wireshark 数据并在执行后将数字加起来?

谢谢

答案1

如果您启动nethogs然后按下m键,它将从瞬时模式(kB/s)切换到累积模式(kB)。

答案2

将命令包装在 SOCKS 客户端(例如 dante-client)中,将 SOCKS 指向服务器(例如 socat/netcat),该服务器将测量流量并转发到真正的 SOCKS 服务器。会有 SOCKS 开销,但假设您不需要精确的然后测量一下,就把这个因素考虑进去了。

一个 shell 脚本可以设置 socat 套接字和 LD_PRELOAD_PATH 环境,运行命令并在完成后报告统计信息。

相关内容