對於基準腳本,我需要在稍微操作後提取iowait%。使用top和awk獲取iowait
現在,我覺得這是最好的方式: IOWAIT = top -bn2 | awk '$1~/Cpu/ {print $6}' | sed -n '2p' | tr -d '%wa,'
正確的輸出是一樣的東西2.1:
首先,如果我沒有精確的「-bn2」,我不不知道爲什麼,如果我只拍攝一次,總是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
輸出
我的問題是: 當我得到一列100.0%(例如閒置)時,它會改變列號,所以我的awk不再工作了,我得到了「0.0%hi」字段。
我的問題是這樣的:
- 如何告訴awk將採取列與「%WA」?
如果有人有最好的方法來做我想要做的事情,我當然非常樂意提出建議!
感謝
嗨,感謝您的幫助呢! 當我嘗試你的建議時,我沒有得到任何結果,因爲我不是awk常規也沒有bash,所以我絕對不能調試它:( – Brice