设为首页 收藏本站
查看: 745|回复: 0

[经验分享] Oracle CPU负载

[复制链接]

尚未签到

发表于 2018-9-15 06:06:53 | 显示全部楼层 |阅读模式
  一、DB Time和Elapsed time
     Snap>
--------- ------------------- -------- ---------  
Begin Snap:     21787 21-Feb-13 20:00:22        50      19.5
  
End Snap:     21798 22-Feb-13 07:00:47        44      20.0
  
Elapsed:              660.42 (mins)
  
DB Time:              928.06 (mins)
  
--Elapsed < DB Time
  
--Elapsed Time=(20130222 07:00:00 - 20130221 20:00:00)≈ 660
  
--DB Time=928.06 ,运行环境为16核CPU, 660*16=10560, cpu花费了928.06分钟在处理Oralce非空闲等待和运算上
  
--从上可知,整个系统还是比较空闲
  CPU负载= db time/(Elapsed time * cpu个数)*100%
  DB TIME= 所有前台session花费在database调用上的总和时间
  &#8226;注意是前台进程foreground sessions
  &#8226;包括CPU时间、IO Time、和其他一系列非空闲等待时间,别忘了cpu on queue time
  Average Active Session AAS= DB time/Elapsed Time
  DB Time =60 min , Elapsed Time =60 min AAS=60/60=1 负载一般
  DB Time= 1min , Elapsed Time= 60 min AAS= 1/60 负载很轻
  DB Time= 60000 min,Elapsed Time= 60 min AAS=1000 &#61672; 系统hang了
  DB TIME= DB CPU + Non-Idle Wait + Wait on CPU queue
  如果仅有2个逻辑CPU,而2个session在60分钟都没等待事件,一直跑在CPU上,那么:
  DB CPU= 2 * 60 mins , DB Time = 2* 60 + 0 + 0 =120
  AAS = 120/60=2 正好等于OS load 2。
  如果有3个session都100%仅消耗CPU,那么总有一个要wait on queue
  DB CPU = 2* 60 mins ,wait on CPU queue= 60 mins
  AAS= (120+ 60)/60=3 &#61672; 主机load 亦为3,此时vmstat 看waiting for run time
  CPU是指核数,在Oracle查看他探测到的CPU COUNT。
  所以上面的看到总Elapsed time*16,在对比下db time也是可以大概感受到系统是否繁忙的。
  SQL> show parameter cpu_count
  NAME                                 TYPE        VALUE
  ------------------------------------ ----------- ------------------------------
  cpu_count                            integer     16
  二.Host Cpu(整个主机的CPU负载情况)
  
DSC0000.png

  “Load Average” begin/end值代表CPU的大致运行队列大小。
  上图中快照开始到结束,平均 CPU负载增加了。
  %User+%System=> 总的CPU使用率,在这里是29.0%。空闲的CPU使用率为71%。
DSC0001.png

  
  三.Instance CPU(数据库实例消耗的CPU)
  
DSC0002.png

  1.%Total CPU,该实例所使用的CPU占总CPU的比例—>% of total CPU for Instance
  2.%Busy CPU,该实例所使用的Cpu占总的被使用CPU的比例—> % of busy CPU for Instance
  3.例如共4个逻辑CPU,其中3个被完全使用,3个中的1个完全被该实例使用,则%Total CPU= &#188; =25%,而%Busy CPU= 1/3= 33%
  4.当CPU高时一般看%Busy CPU可以确定CPU到底是否是本实例消耗的,还是主机上其他程序.
  5.%DB time waiting for CPU (Resource Manager)是指当使用了resource manager限制某个用户和会话使用CPU,而产生的等待。会产生resmgr:cpu quantum等待事件,如果产生该等待事件需要和RSRC_MGR的值结合起来判断。解决方法是需要修改资源限制的plan。
  案例如下图:
DSC0003.png DSC0004.png




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-582980-1-1.html 上篇帖子: oracle libary cache 命中率 下篇帖子: oracle自动共享内存管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表