ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一次GC BUFFER BUSY处理

一次GC BUFFER BUSY处理

原创 Linux操作系统 作者:westzq1984 时间:2012-07-25 22:49:42 0 删除 编辑
今天远程帮同事处理了一个GC BUFFER BUSY,记录一下

看到AWR报告是,gc buffer busy平均等待时间高达500ms,但是从负载来看,除了逻辑读有1.5倍的增加,心跳流量,接受/发送的块数量都没有正常时间点高。

第一个反应是心跳网络有问题,如光纤网线被门夹了,网卡模式切换到了非全双工模式,但是让主机工程师检查,以及用FTP测试,心跳网络是没有问题的

仔细看AWR,同时的TX等待也很高,但是导致TX的语句,资源消耗很低,但是其执行时间中,98%都是集群等待时间,也就是说起可能是受到GC等待的拖累

主机上,CPU空闲一直未0,这时想到一个问题,可能是由于部分SQL逻辑读太高,消耗了几乎所有的CPU,导致LMS请求不到足够的CPU资源,导致LMS效率底下,拖累了其他应用

在AWR中,发现一组没有使用绑定变量的SQL,消耗极多的逻辑读,物理读(但是其在TOP集群等待SQL中不高,并且这些SQL主要等待也不是GC),其上的索引存在一定的问题,让客户重建后,该SQL的逻辑读从5亿个数据块下降到5个数据块。

重建后GC问题消失,TX等待也连同一起没有了

由于客户是内外网分离,只是通过AWR看了,深入还有什么问题没有研究

总结下GC相关等待的几个可能原因
1.SQL效率低下,逻辑读物理读多
2.心跳网络出现问题
3.CPU利用率高导致LMS请求不到足够的CPU资源,特别是HP系统上,LMS进程的优先级也可能导致一些问题


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8242091/viewspace-736666/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-04-06

  • 博文量
    251
  • 访问量
    963622