CPU负载高(CPU load average)场景1

2020-06-10 18:04:48 浏览数 (1)

问题背景:
客户反馈机器使用非常卡顿,通过 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
建议方案:
数据库等对磁盘性能要求高的业务需选购性能更高的磁盘保证业务的高性能、高可用性

0 人点赞