关于sys CPU usage 100%问题的分析
最近一个客户抱怨他的核心EBS数据库出现性能问题。这是一个10.2.0.3的数据库,
运行在Red Hat Enterprise Linux Server release 5.5 (Linux x86-64)操作系统上。
根据客户描述,由于需要维护UPS,他们重启了数据库,结果重启数据库后他们发现只要他们的应用
开始连接数据库,那么主机的sys CPU使用率就会变成100%, 但是user CPU使用率几乎是0.
而且只要停掉监听或者应用不开启新session连接数据库,这个问题就会消失。
如下是问题发生期间的vmstat输出,可见cpu中的sys(倒数第4列)几乎100%, CPU Run Queue (第1列)
非常高,而此时free memory还有20G(第4列),看来内存很充裕。
SNAP_INTERVAL 15
CPU_COUNT 32
zzz ***Fri Dec 2 17:05:03 CST 2016
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
48 0 0 22026868 213392 37138888 0 0 21 31 13 39 6 8 86 0 0
44 1 0 21968452 213392 37138900 0 0 0 360 1093 537 8 92 0 0 0
44 1 0 21941632 213392 37139028 0 0 0 288 1080 371 9 91 0 0 0
......
zzz ***Fri Dec 2 17:10:12 CST 2016
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
121 2 0 21495944 218356 37142412 0 0 21 31 13 39 6 9 85 0 0
122 4 0 21486192 218356 37142432 0 0 0 308 119 753 7 93 0 0 0
121 2 0 21478868 218364 37142424 0 0 0 592 97 517 5 95 0 0 0
首先我看了一遍客户提供的AWR,发现DB相当空闲,虽然CPU time占据了91.2,但是总的CPU Time
在119分钟的采样中只有18345秒(305分钟),相对于客户32个CPU Core来说不是个问题。
Snap Id Snap Time Sessions Cursors/Session
Begin Snap: 38119 02-Dec-16 16:00:28 255 63.2
End Snap: 38121 02-Dec-16 18:00:18 193 48.7<