监视磁盘使用情况变化以推断下载速度

河豚鱼

我正在测试用于下载大型数据集的各种解决方案,这些下载可能需要数周的时间,并且需要重新启动几次。我不想监视网络速度,而是想使用磁盘使用率的变化来推断下载速度,因为这将避免测量失败的传输的重新传输。有没有执行此操作的工具,还是我应该推出自己的bash解决方案?

斯帕霍克

Coreutils非常适合这种情况。这是一个快速的解决方案,还将保存日期和时间。

$ echo -e "$(date)\t$(df | awk '$1 == "/dev/sda1" {print $2}')" > df_1
<wait a while>
$ echo -e "$(date)\t$(df | awk '$1 == "/dev/sda1" {print $2}')" > df_2
$ echo "$(( $(awk '{print $2}' FS='\t' df_2) - $(awk '{print $2}' FS='\t' df_1) )) K increase from $(awk '{print $1}' FS='\t' df_1) to $(awk '{print $1}' FS='\t' df_2)"
12 K increase from Wed Nov 20 21:22:07 EST 2013 to Wed Nov 20 21:23:13 EST 2013

我不确定您是否需要此功能,但请解释一下它的作用:

  • 首先,将当前日期和时间(date)和“已用”磁盘空间(awk '$1 == "/dev/sda1" {print $2}')保存到文件中df_1您可能需要替换特定的文件系统而不是/dev/sda1df单独使用以获取列表。
  • 其次,在以后的日期重复。
  • 最后,打印出$((...))存储在每个文件第一个字段中的“已用”磁盘空间之间的差异,并打印出日期(从第二个字段中)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章