微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nethogs 测量带宽与文件大小不匹配

如何解决Nethogs 测量带宽与文件大小不匹配

项目的最后一块拼图: 我正在使用 nehogs 来测量上传的数据量与文件大小,并将其通过 Yad 进度框传输。 不幸的是,无法查询上传过程的进度,所以我很困惑:

我以 GB 为单位获取文件大小并将数据从 nethogs 脚本传输到文件中并从中读取以用于进度条

#Get the filesize
fzmb=$(( $( stat -c '%s'  $_file) / 1024 / 1024 )) 
xy=the_filename

# in the uploading function:
tail -f $LOG_LOCATION/upl.txt | \
            awk -W interactive  perc="$fzmb"'{print "#PROG:"    $2  " of " perc "MB"} {printf "%.0f\n",$2/perc*100"%" }' | \
            yad --progress --button="Cancel:1"  --geometry="70x30+320+118" --title="UPL: $xy"  --auto-close

然后我通过测量 python 带宽,在单独的脚本中使用 nethogs 测量上传进程的带宽 - 使用运行的 python 进程没有带宽,所以我认为我很安全。

sudo /usr/sbin/nethogs -t -v 3 eth0  | \
 stdbuf -i0 -o0 -e0 awk  -W interactive  '/python*/ {printf("%.2f\n",$2) }'| \

stdbuf -i0 -o0 -e0 awk -W interactive  perc="$fzmb"'{print "'${xy}': "  $1  "MB of " perc "MB"}' > /media/pi/VDRIVE/logs/upl.txt

这也有效,但对话框在文件上传之前关闭文件继续上传直到完成(这意味着它上传正常)所以 $fzmb 一直太小或使用的带宽量一直更多(由于也许重试?)

我意识到我很可能会得到完全匹配,但似乎经常很不匹配。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。