小编Bri*_*ice的帖子

用top和awk获取iowait

对于基准脚本,我需要在进行一些操作后立即提取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”进入列?

如果有人对我要做的事情有最好的方法,那么我当然很愿意提出建议!

谢谢

regex bash awk iowait disk-io

2
推荐指数
1
解决办法
1965
查看次数

标签 统计

awk ×1

bash ×1

disk-io ×1

iowait ×1

regex ×1