服务器IO高排错

io过高 首先查看哪些进程的io过高

(用top查看是否很高,然后用iostat -x -d 1  定哪个设备IO负载高)

然后用iotop -oP 查看哪一个进程的io高   也可以用iostat -x -d 1  定哪个设备IO负载高

确定的进程pid后,可以用ps -ef |grep pid 查看哪一个应用引起的,看看是否需要重启服务 减少io 

也可以用top -H -p pid  查看这个进程中线程消耗资源情况

命令:iostat

安装:yum install sysstat  -y

常见用法
iostat -d -k 1 10 #查看TPS和吞吐量信息(磁盘读写速度单位为KB)
iostat -d -m 2 #查看TPS和吞吐量信息(磁盘读写速度单位为MB)
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await) iostat -c 1 10 #查看cpu状态

排查过程:

1,查看CPU状态

命令:top

 查看wa的状态:wa即cpu等待磁盘写入完成时间

其余还有:

us:用户态使用的cpu时间比
sy:系统态使用的cpu时间比
ni:用做nice加权的进程分配的用户态cpu时间比
id:空闲的cpu时间比
wa:cpu等待磁盘写入完成时间
hi:硬中断消耗时间
si:软中断消耗时间
st:虚拟机偷取时间

2.查找引起高I/O wait 对应的进程

命令:iotop

安装:yum -y install iotop

 

原文地址:https://www.cnblogs.com/l-gang/p/12775378.html