首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >top命令+如何验证iowait值一个小时

top命令+如何验证iowait值一个小时
EN

Server Fault用户
提问于 2015-07-29 05:48:55
回答 2查看 1.7K关注 0票数 0

我的目标是从top命令中检查不大于50的iowait值。

如果一个小时以上的值大于50,则需要对此发出警报(通过脚本或其他选项)。

到目前为止我所做的是:

代码语言:javascript
复制
  top-n|grepiowait
  CPUstates:94.3%idle,0.5%user,5.2%kernel,0.0%iowait,0.0%swap

我可以轻松地将iowait捕获如下:

代码语言:javascript
复制
 top-n|grepiowait|awk'{print$9}'|seds'/%//'
 0.0

但是,如何在至少一个小时内验证大于50的iowait值呢?

EN

回答 2

Server Fault用户

发布于 2015-07-29 06:56:57

我相信您理解收集数据的一般方法以及收集的时间和跟踪值随时间的变化。细节将是相当复杂的脚本,我们不是一个脚本编写服务。

如果您想沿着这条路线走下去,您可能会发现沙尔碘化钾更有用。

然而,有比顶部更好的工具来做这样的事情,大多数人都会使用某种监控工具,比如扎比纳古斯穆宁等等。他们会收集统计数据、发送警报等等。如果是扎比,它们甚至很容易安装和配置。

票数 2
EN

Server Fault用户

发布于 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命令会有所不同,所以您必须自己测试。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/709257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档