我的目标是从top命令中检查不大于50的iowait值。
如果一个小时以上的值大于50,则需要对此发出警报(通过脚本或其他选项)。
到目前为止我所做的是:
top-n|grepiowait
CPUstates:94.3%idle,0.5%user,5.2%kernel,0.0%iowait,0.0%swap我可以轻松地将iowait捕获如下:
top-n|grepiowait|awk'{print$9}'|seds'/%//'
0.0但是,如何在至少一个小时内验证大于50的iowait值呢?
发布于 2015-07-29 06:56:57
发布于 2015-07-29 07:27:38
您可以为此目的使用iostat。只需运行iostat -y 3600 | grep -A 1 avg-cpu
上面的命令将每小时报告不同的CPU状态(空闲、iowait、ecc),下面的grep将只外推您关心的两行。显然,在将脚本投入生产之前,用较低的等待时间(例如:5秒)进行一些测试。
编辑:对于solaris,您可以使用iostat -c 3600,但是grep命令会有所不同,所以您必须自己测试。
https://serverfault.com/questions/709257
复制相似问题