银行

生产系统cpu100%

最近公司一个业务系统oltp类型的,在12月31日下午发生了几次cpu 100%故障
每次都是靠重启应用来释放系统资源
系统资源:aix5.3 7c(power6) 20g
              db2 9.1
              数据库在磁盘阵列上
从系统资源的使用情况来看,user部分的cpu占用接近100%,在短短的3-5分钟内从10%以下冲上100%
用topas观察到没有特别消耗cpu资源的进程,但是有大量占用百分之1点几cpu的db2sysc进程,
其实就是db2的agent进程有很多
查看db2diag日志也没有发现锁升级,死锁现象
对application做快照,看到的一些dyn sql也都是平常的业务sql,并没有什么特殊的
同时间的内存和磁盘繁忙率都很正常

之后将应用和db都重启了,并降低了一些应用的并发数,过了三天了还没有什么异常,

猜测一:业务繁忙,并发的连接多了导致
但是应用采用缓冲池和数据库连接,最大200,业务再忙,到数据库的连接始终不会高于200
猜测二:发生了很多全表扫描和排序
但是从快照中的sql语句来看,表的记录数量不大,走的也是索引,也没多少排序

求解!或者再出现时我该遵循什么样的方法去收集数据,分析问题?
望不吝赐教!
参与20

18同行回答

wolaos123wolaos123项目经理澳美制药
拿你把消耗cpu 的top 5 sql拿出来分析下,看与之前有没有什么变化,为什么会突然多了那么多application,业务需求发生了变化。显示全部
拿你把消耗cpu 的top 5 sql拿出来分析下,看与之前有没有什么变化,
为什么会突然多了那么多application,业务需求发生了变化。收起
医院 · 2013-01-10
浏览1455
bankhpbankhp数据库管理员安徽省农村信用联社信息技术中心
感谢各位的回复:从application的快照里面,的确可以看到uow的执行时间非常长,sql执行也消耗了很多的cpu时间。但我觉得这是因为cpu已经100%了,每个进程都拿不到足够的cpu时间导致的。目前我们只能寄希望于压力测试能不能够找到引起异常的原因了。...显示全部
感谢各位的回复:
从application的快照里面,的确可以看到uow的执行时间非常长,sql执行也消耗了很多的cpu时间。但我觉得这是因为cpu已经100%了,每个进程都拿不到足够的cpu时间导致的。
目前我们只能寄希望于压力测试能不能够找到引起异常的原因了。收起
银行 · 2013-01-09
浏览1413
wolaos123wolaos123项目经理澳美制药
看看这130个 UOW Executing的agent都在做什么,耗的CPU咋样。显示全部
看看这130个 UOW Executing的agent都在做什么,耗的CPU咋样。收起
医院 · 2013-01-09
浏览1428
marvelyumarvelyu软件开发工程师IBM
回复 14# bankhp     如果确定不存在锁问题的话,那就是正常应用了,应用发生了变更,或者检查部分表的统计信息不准确等造成执行计划发生变化都有可能造成CPU高,尽量找到CPU高的应用快照,对SQL涉及到的表等进行综合分析...显示全部
回复 14# bankhp


    如果确定不存在锁问题的话,那就是正常应用了,应用发生了变更,或者检查部分表的统计信息不准确等造成执行计划发生变化都有可能造成CPU高,尽量找到CPU高的应用快照,对SQL涉及到的表等进行综合分析收起
互联网服务 · 2013-01-09
浏览1469
weiruan85weiruan85数据库管理员ibm
UOW Executing大概有130个左右 , 哪就是并发数太多了或者某一个exe的占用了大部分的cpu .显示全部
UOW Executing大概有130个左右 , 哪就是并发数太多了或者某一个exe的占用了大部分的cpu .收起
政府机关 · 2013-01-09
浏览1402
bankhpbankhp数据库管理员安徽省农村信用联社信息技术中心
topas看看是否有显著进程,看看是否是db2sys进程,结合db2mtrk看看当前应用CPU使用在哪块造成,如果确定ppl ...marvelyu 发表于 2013-1-8 18:39     问题发生时的确是db2sys进程有很多,每一个占用1%点几的cpu,但从application的快照来看,并没有lock-wait,只有UOW Execu...显示全部
topas看看是否有显著进程,看看是否是db2sys进程,结合db2mtrk看看当前应用CPU使用在哪块造成,如果确定ppl ...
marvelyu 发表于 2013-1-8 18:39



    问题发生时的确是db2sys进程有很多,每一个占用1%点几的cpu,但从application的快照来看,并没有lock-wait,只有UOW Executing和UOW Waiting的,UOW Executing大概有130个左右收起
银行 · 2013-01-09
浏览1454
marvelyumarvelyu软件开发工程师IBM
topas看看是否有显著进程,看看是否是db2sys进程,结合db2mtrk看看当前应用CPU使用在哪块造成,如果确定pplication的数据量猛增造成,多半是应用,而且很可能是锁问题,及时收集下数据库的运行快照信息,上面的给提到了,如果不是很有规律的话,可以在OS上部署crontab定时采集...显示全部
topas看看是否有显著进程,看看是否是db2sys进程,结合db2mtrk看看当前应用CPU使用在哪块造成,如果确定pplication的数据量猛增造成,多半是应用,而且很可能是锁问题,及时收集下数据库的运行快照信息,上面的给提到了,如果不是很有规律的话,可以在OS上部署crontab定时采集收起
互联网服务 · 2013-01-08
浏览1456
bankhpbankhp数据库管理员安徽省农村信用联社信息技术中心
通过tivoli数据我们发现,在事发的那个时间段application的数据量在200左右,平时这个值只有30-40。这个肯定是异常点。但苦于没收集到足够的数据,不知道为什么会突然变成这么多。显示全部
通过tivoli数据我们发现,在事发的那个时间段application的数据量在200左右,平时这个值只有30-40。这个肯定是异常点。但苦于没收集到足够的数据,不知道为什么会突然变成这么多。收起
银行 · 2013-01-08
浏览1425
Priest_LeonPriest_Leon系统架构师99无限
抓下相关日志看下或通过性能感觉监控下,到底是那块出现问题,不一定是数据库server的问题显示全部
抓下相关日志看下或通过性能感觉监控下,到底是那块出现问题,不一定是数据库server的问题收起
互联网服务 · 2013-01-08
浏览1637
tongjixianingtongjixianing软件开发工程师IBM
这类问题,最主要首先是从OS层面来分析。AIX的话,建议收一个tprof,可能话看看splat显示全部
这类问题,最主要首先是从OS层面来分析。AIX的话,建议收一个tprof,可能话看看splat收起
互联网服务 · 2013-01-05
浏览1669

提问者

bankhp
数据库管理员安徽省农村信用联社信息技术中心
擅长领域: 云计算服务器容器云

问题状态

  • 发布时间:2013-01-04
  • 关注会员:2 人
  • 问题浏览:14983
  • 最近回答:2013-01-10
  • X社区推广