resmgr:cpu quantum等待事件

简介:

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


本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1278118

相关文章
|
2月前
|
Kubernetes 监控 测试技术
在K8S中,如何查看pod状态的详情? 事件显示cpu不足如何处理?
在K8S中,如何查看pod状态的详情? 事件显示cpu不足如何处理?
|
5月前
|
存储 JSON 运维
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
116 0
|
SQL 关系型数据库 数据库
Oracle数据库服务器CPU持续100%之等待事件asynch descriptor resize
2017年5月11日下午13点,一地市技术反应服务器响应慢,CPU长时间100%如图: 经观察数据库服务器资源监视器,发现是oracle进程导致的,登录数据库查询数据库等待事件,发现asynch descriptor resize居高不下...
1314 0
|
3天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
34 5
|
1天前
|
Prometheus Kubernetes 监控
使用kubectl快速查看各个节点的CPU和内存占用量
在Kubernetes集群中,安装metrics-server,并使用kubectl快速查看集群中各个节点的资源使用情况。
|
2月前
|
存储 监控 Docker
如何限制docker使用的cpu,内存,存储
如何限制docker使用的cpu,内存,存储
|
2月前
|
缓存 Kubernetes 数据中心
在Docker中,如何控制容器占用系统资源(CPU,内存)的份额?
在Docker中,如何控制容器占用系统资源(CPU,内存)的份额?
|
2月前
|
KVM 虚拟化
[kvm]cpu内存硬盘配置
[kvm]cpu内存硬盘配置