CPU Usage Spikes to 100 percent on Virtual Server and Confluence Becomes Unavailable
Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.
Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
Suddenly, when attempting to connect to Confluence, there is no response from the server resulting in a timeout. Also, the CPU usage is pegged at 100% or close to it but we may have plenty of available memory. This situation may resolve after some time and seem to come back at random.
At some situation, the virtual server always starts at 100% CPU usage. However, Confluence doesn't become slow and there's no timeout error in the log. If this is the case, proceed to Resolution : Alternative.
Cause
An alternative cause for instances with a very large user base is CONFSERVER-30581 - The daily summary email plugin causes high CPU usage. If disabling this plugin doesn't improve your CPU usage, then this is not the problem.
An option called 'memory ballooning' may be enabled on the server which swaps unused memory of the virtual machine out to harddisk. When the JVM goes to garbage collect against the heap, this process can take a very long time and tax the CPU heavily.
Resolution
Disable memory ballooning for the virtual machine.
Alternative
Upgrade / uninstall all the incompatible plugins to the highest compatible version.