我需要使用平均上传和下载速度dstat -n
。如何添加之后出现的所有接收和发送的数据大小dstat -n
,以便我可以添加它们并找到一段时间内的平均上传和下载速度?
答案1
您基本上想要dstat
为您提供给定时间(例如 120 秒)的平均值。这与vmstat
or完全相同ifstat
,第一个参数是delay
,这意味着在给定时间内提供平均值。默认值为 1 秒。
所以这应该做:
dstat -n 120
或对于给定的接口eth0
和eth1
,执行以下操作:
dstat -n -N eth0,eth1 120
或对于所有接口:
dstat -n -f 120
但如果您更喜欢一些可以进行后处理的输出,那么让它写出 CSV 数据可能更有趣:
dstat -n -f -o stat.csv 120
这会将 120 秒的平均值写入名为stat.csv
.
答案2
由于没有人回答,我已经弄清楚了。以下是具体操作方法。假设我们需要对“2 分钟(120 秒)”进行平均。首先将其写入名为 stat.txt 的文件。每秒刷新 120 次。
dstat -n 1 120 >> stat.txt
添加 stat.txt 的列
awk -F" " '{t1=t1+$1;t2=t2+$2}END{t1=t1/120;t2=t2/120;print t1"\t"t2}' stat.txt
删除stat.txt
rm stat.txt
我们也可以根据这些命令制作一个脚本。