![resource_manager_resmgr_cpu_quantum resmgr:cpu quantum等待事件_Oracle](http://www.askmaclean.com/wp-content/uploads/2012/10/resource_manager_resmgr_cpu_quantum-1024x546.png)
resmgr:cpu quantum等待事件
原创maclean_007 ©著作权
©著作权归作者所有:来自51CTO博客作者maclean_007的原创作品,请联系作者获取转载授权,否则将追究法律责任
resmgr:cpu quantum是Resource Manager特性导致的等待事件,理论上只有版本10g以后才可能出现,同时应当仅在resource manager plan被激活的时间窗口中发生该等待事件。
该等待事件存在的意义是当resource manager控制CPU调度时,需要控制对应进程暂时不使用CPU而进程到内部运行队列中,以保证该进程对应的consumer group(消费组)没有消耗比指定resource manager指令更多的CPU。
此时session就会以"resmgr:cpu quantum"的名义等待在内部运行队列中,wait一段时间以减少对CPU的争用,直到再次获得CPU时该等待事件结束。
需要注意的是虽然国内的绝大多数数据库都不太可能去设置resource plan激活某种资源计划,但是10g开始默认的gather_stats_job自动收集统计信息作业会在每个工作日的晚上22:00-06:00和周六、周日全天打开default_maintance_windows该维护窗口会默认打开一个Oracle预定义的资源计划,在这个窗口中服务进程仍可能进入resmgr:cpu quantum等待事件。
合理的resmgr:cpu quantum是为了实现cpu control的必要代价,但是存在一些BUG可能导致服务进程因为resmgr:cpu quantum而HANG住,并一直等待该事件,这些BUG主要发生在10g的10.2.0.5之前。
AWR TOP 5 EVENT:
Event Waits Time(s) (ms) time Wait Class
----------------------------------- --------- ------ ------ ----------
resmgr:cpu quantum 1,193,863 96,152 81 67.0 Scheduler
enq: HW - contention 11,789 13,172 1117 9.2 Configurat
enq: US - contention 38,030 11,876 312 8.3 Other
buffer busy waits 19,224 10,762 560 7.5 Concurrenc
enq: TX - index contention 4,862 6,989 1437 4.9 Concurrenc
解决resmgr:cpu quantum等待事件的方法有:
一. 禁用resource plan windows
To disable the DEFAULT_MAINTENANCE_PLAN you can use the below steps as suggested in Note 786346.1
1. Set the current resource manager plan to null (or another plan that is not restrictive):
alter system set resource_manager_plan='' scope=both;
2. Change the active windows to use the null resource manager plan (or other nonrestrictive plan) using:
execute dbms_scheduler.set_attribute('WEEKNIGHT_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('WEEKEND_WINDOW','RESOURCE_PLAN','');
3. Then, for each window_name (WINDOW_NAME from DBA_SCHEDULER_WINDOWS), run:
execute dbms_scheduler.set_attribute('<window name>','RESOURCE_PLAN','');
二、打上resource manager必要的补丁
可以参考文档Recommended Patches for CPU Resource Manager (Doc ID 1339803.1)
It applies to Oracle RDBMS Enterprise Edition, versions 10.2.0.4, 10.2.0.5, 11.1.0.7, 11.2.0.1, 11.2.0.2, and 11.2.0.3.
The Oracle Database Resource Manager can be used in many ways, such as
![resource_manager_resmgr_cpu_quantum resmgr:cpu quantum等待事件_Oracle](http://www.askmaclean.com/wp-content/uploads/2012/10/resource_manager_resmgr_cpu_quantum-1024x546.png)
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java springboot监听事件和处理事件
java springboot监听事件和处理事件
spring 自定义事件 应用程序 -
CPU的深度解析
CPU的介绍
指令集 量子计算 异构计算 CPU 计算机基础