问题背景:
客户反馈机器使用非常卡顿,通过 top 命令可以看出,机器CPU负载(CPU load average)非常高
- CPU负载(CPU load average)趋于大于CPU核数时,说明服务器负载异常
- CPU负载高一般原因为内存使用异常或磁盘性能异常导致
观察机器中top数据,发现内存使用率正常,但wa值很高,%wa指CPU等待磁盘写入完成的时间,怀疑磁盘性能负载过高导致
排查分析:
1. 通过iotop命令查看对磁盘有操作的进程,刷新时间间隔为1秒
代码语言:javascript复制iotop -o -d 1
2. 通过 iotop 过滤到占用磁盘ID非常高的线程 ID(TID),其实这里已经可以看到进程信息了,再通过 PS命令过滤线程ID确认业务进程,kill 进程后CPU负载降下来了
同时通过 iostat 可以看出磁盘读流量偏高,对比磁盘监控看到是磁盘读 IOPS 过高,性能到瓶颈导致任务堆积
代码语言:javascript复制ps -eLf | grep TID