没有iotop也能找出iowait的罪魁祸首

监控告警cpu的iowait超出阈值,首先登录机器,top命令查看发现机器的iowait非常高,飙升到了50%了。第一反应是先执行一下iotop命令看一下,具体哪个程在捣乱。

遗憾的是发现机器上面没有安装iotop,又不能操作客户的机器。其实还是可以有别的途径的。

下面的脚步可以找出处于D(写磁盘)状态的进程。D 是Disk Sleep 的缩写,也就是不可中断状态睡眠(Uninterruptible Sleep),一般表示进程正在跟硬件交互,并且交互过程不允许被其他进程或中断打断。

for x in `seq 1 1 10`; do ps -eo state,pid,cmd | grep "^D"; echo "----"; sleep 5; done

输出结果如下:

没有iotop也能找出iowait的罪魁祸首

之所以添加ppid,主要是因为有些进程执行完里面退出,但一般父进程还存活着,很快锁定了这个manger进程。还可以通过

 cat /proc/进程号/io

查看进程的IO读写情况。然后再通过lsof命令查看一下进程打开的文件,找到一个日志文件,从而确定问题根源。

展开阅读全文

页面更新:2024-03-15

标签:阈值   不允许   罪魁祸首   缩写   磁盘   根源   睡眠   进程   途径   脚步   遗憾   命令   机器   状态   发现   文件   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top