resmgr:cpu quantum bekleme olayı ve çözümü
İlgili oturum , bir miktar cpu kaynağı atanması için beklediğinde “resmgr:cpu quantum” bekleme olayı görülür. Bu olay, kaynak yöneticisi etkinleştirildiğinde ve CPU tüketimini kısıtladığında gerçekleşir.
Aşağıdaki sorgu ile “resmgr:cpu quantum” bekleme olayının var olup olmadığını ne kadarlık bir etkisinin olduğunu görebilirisiniz.
SELECT wait_class, NAME, ROUND (time_secs, 2) time_secs, ROUND (time_secs * 100 / SUM (time_secs) OVER (), 2) pct FROM (SELECT n.wait_class, e.event NAME, e.time_waited / 100 time_secs FROM v$system_event e, v$event_name n WHERE n.NAME = e.event AND n.wait_class <> 'Idle' AND time_waited > 0 UNION SELECT 'CPU', 'server CPU', SUM (VALUE / 1000000) time_secs FROM v$sys_time_model ) ORDER BY time_secs DESC;
Çözümü için aşağıdaki adımlar uygulanmalıdır.
Öncelikle resource_manager_plan parametresinin değerinin olmadığından emin olun. Herhangi bir değer varsa aşağıdaki gibi boşaltabilirsiniz.
SQL> alter system set resource_manager_plan='' scope=both sid='*';
Sonrasında tüm Maintenance Windows’lar için RESOURCE_PLAN değerini boşaltın. Mevcut maintenace windows’ları dba_scheduler_windows görüntüsünden görebilirsiniz.
SQL> execute dbms_scheduler.set_attribute('SATURDAY_WINDOW','RESOURCE_PLAN','');
SQL> execute dbms_scheduler.set_attribute('SUNDAY_WINDOW','RESOURCE_PLAN','');
SQL> execute dbms_scheduler.set_attribute('MONDAY_WINDOW','RESOURCE_PLAN','');
SQL> execute dbms_scheduler.set_attribute('TUESDAY_WINDOW','RESOURCE_PLAN','');
SQL> execute dbms_scheduler.set_attribute('WEDNESDAY_WINDOW','RESOURCE_PLAN','');
SQL> execute dbms_scheduler.set_attribute('THURSDAY_WINDOW','RESOURCE_PLAN','');
SQL> execute dbms_scheduler.set_attribute('FRIDAY_WINDOW','RESOURCE_PLAN','');
aşağıdaki window’lar varsa onlar içinde aynı işlem yapılmalıdır.
SQL> execute dbms_scheduler.set_attribute('WEEKNIGHT_WINDOW','RESOURCE_PLAN','');
SQL> execute dbms_scheduler.set_attribute('WEEKEND_WINDOW','RESOURCE_PLAN','');
Son olarak cpu_count parametresini kontrol edin. Eğer fiziksel cpu yeterli ise cpu_count değerini arttırın. Aşağıdaki şekilde değiştirebilirsiniz.
SQL> alter system set cpu_count=24 scope=both sid='*';System altered.
Bu işlemler sonrasında yukarıdaki bekleme olayları sorgusu ile “resmgr:cpu quantum” bekleme olayının azaldığını göreceksiniz.