监控告警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
输出结果如下:
之所以添加ppid,主要是因为有些进程执行完里面退出,但一般父进程还存活着,很快锁定了这个manger进程。还可以通过
cat /proc/进程号/io
查看进程的IO读写情况。然后再通过lsof命令查看一下进程打开的文件,找到一个日志文件,从而确定问题根源。
页面更新:2024-03-15
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号