对于基准脚本,我需要在进行一些操作后立即提取iowait%。
目前,我发现的最好方法是:IOWAIT =top -bn2 | awk '$1~/Cpu/ {print $6}' | sed -n '2p' | tr -d '%wa,'
正确的输出类似于2.1:
首先,如果我不精确地定义“ -bn2”,那么我不知道为什么,如果我只捕获1次,它总是0.1%。所以我进行了两次捕获,然后awk获取iowait字段,然后sed第二行,然后删除了“%wa”
仅供参考,这是输出 top -bn2 | grep Cpu
Cpu(s): 2.8%us, 0.4%sy, 0.0%ni, 96.6%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st<br>
Cpu(s): 0.2%us, 2.9%sy, 0.0%ni, 87.1%id, 9.5%wa, 0.0%hi, 0.3%si, 0.0%st
Run Code Online (Sandbox Code Playgroud)
我的问题如下:当我得到100.0%的一列(例如空闲)时,它移动了列号,因此我的awk不再起作用,我得到了“ 0.0%hi”字段。
我的问题如下:
-如何告诉awk使用“%wa”进入列?
如果有人对我要做的事情有最好的方法,那么我当然很愿意提出建议!
谢谢