love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客

Phone:18180207355 提供专业Oracle/MySQL/PostgreSQL数据恢复、性能优化、迁移升级、紧急救援等服务

I/O slave wait 导致CPU 100%

本站文章除注明转载外,均为本站原创: 转载自love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客

本文链接地址: I/O slave wait 导致CPU 100%

某客户的一个rac 节点CPU使用率为100%,导致整体系统运行缓慢。    通过mpstat命令检查发现系统CPU使用率为100%,系统的CPU idle几乎为0. 导致系统整体负载极高,如下:

根据进程号,定位到相关的user process:

通过检查发现,存在大量的I/O salve wait 等待事件,如下:

更要命的是,我从top 命令的结果中挑选了几个cpu消耗高的进程,检查发现其对应的等待事件都是这个。

从上面的查询来看,这部分会话执行的SQL都类似,开始我怀疑难道是会话执行的SQL有问题 ? 通过dump定位到SQL语句和执行计划,发现执行计划是ok,效率还挺高。

由此可以判断,应该跟SQL本身的效率是没有关系的。从dump的processstate strace还发现了一点有价值的信息:

根据这个AIO的告警,mos上一搜,果然是跟AIO有关系。例如存在类似这样的bug:

Bug 9949948 Linux: Process spin under ksfdrwat0 if OS Async IO not configured high enough

最后建议调整Linux AIO参数之后目前一切正常。

简单记录一下,供大家参考!

 

Leave a Reply

You must be logged in to post a comment.