Idle QuartzSchedulerThreads are consuming too much CPU
Environment
- JBoss Enterprise Application Platform (EAP)
- 5.x
- Quartz 1.5.2
- Solaris
Issue
- QuartzSchedulerThreads idling in the run() method are consuming an unexpected amount of CPU.
Resolution
- Upgrade Quartz
Root Cause
- Content from web.archive.org is not included.http://web.archive.org/web/20081120031353/http://jira.opensymphony.com/browse/QUARTZ-669
- This version of Quartz uses a spinning workaround to idle these threads(sleeping the active thread for 10m and looping on this). With many of these threads running, the overall CPU usage could become quite large from these 'idle' threads.
Diagnostic Steps
- Troubleshoot the issue as described in Java application high CPU by gathering thread dumps and CPU data.
- On Solaris, gather dtrace output for the process and check for the QuartzSchedulerThreads making frequent pollsys calls.
Tags
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.