在RHEL-6.8机器上,我试图在特定磁盘卷上每隔几秒收集一次iostat (比如5秒)。有没有一种方法就地处理此连续流以获得所有 特定磁盘卷上的聚合“rMB/s”? ?iostat就地处理汇总rMB/s的脚本
我正在寻找shell脚本或python脚本。
例如:我运行iostat如下。
cpuNram # iostat -dmx SVM28000 SVM28001 SVM28002 SVM28003 5
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
SVM28000 10.60 0.00 21.97 4.07 1.66 0.09 137.49 0.05 2.07 0.31 11.55 0.94 2.44
SVM28001 10.49 0.00 21.65 3.15 1.64 0.08 142.45 0.04 1.80 0.31 12.03 0.78 1.95
SVM28002 10.96 0.00 22.40 3.06 1.71 0.08 144.43 0.04 1.70 0.31 11.86 0.76 1.94
SVM28003 10.70 0.00 22.09 3.05 1.67 0.08 142.88 0.05 1.87 0.32 13.09 0.83 2.09
cpuNram #
我喜欢看到所有卷的总和rMB/s。在这个例子中,6.68 rMB/s(1.66 + 1.64 + 1.71 + 1.67)。
我想:
cpuNram # iostat -dmx SVM28000 SVM28001 SVM28002 SVM28003 | tail -n +4 | head -n -1 | awk '{s+=$6} END {print s}'
6.68 ----> this is the aggregate I am looking for
cpuNram #
但我添加的时间间隔的iostat的那一刻,它没有做任何输出:
cpuNram # iostat -dmx SVM28000 SVM28001 SVM28002 SVM28003 5 | tail -n +4 | head -n -1 | awk '{s+=$6} END {print s}'
感谢。
是的。 “动画片中任何可能的东西。” Bugs Bunny把它放在循环中,延迟时间为5秒,并在循环内处理输出。 – Jack
StackOverflow是关于帮助人们修复他们的编程代码。免费编码服务,教程,研究,工具,建议和图书馆的请求都是无关紧要的。 ***请***阅读http://stackoverflow.com/help/how-to-ask,http://stackoverflow.com/help/dont-ask,http://stackoverflow.com/help/mcve和参加[旅游](http://stackoverflow.com/tour),然后在此发布更多Q.祝你好运。 – shellter
第1步 - 创建一个示例iostat输出的输入文件,以测试您的awk脚本。一旦这个工作继续进行到第2步 - 用来自其他命令的输入来测试它。毕竟,如果你有问题,那么谷歌“缓冲”和“stdbuf”。 –