This page last changed on Jul 05, 2010 by alui.

The minimum and maximum JVM heap space allocated to the application server affects performance. Confluence administrators may wish to modify this value from the defaults depending on their server load. This document only provides guidelines rather than rules, so administrators optimising for performance should use this document as a starting point only.

For a comprehensive overview of memory management, and memory tuning in Confluence under Sun JRE, please read Garbage Collector Performance Issues

Testing For Optimum Memory Settings

In the general case, both JIRA & Confluence users will benefit from setting the minimum and maximum values identical. In larger installations, there is benefit to memory tuning, if there is a perceived performance issue. If you are experiencing Out of Memory Heap errors, try doubling the -Xmx and -Xms values for your installation to see if this resolves or helps resolve your issue. If not, please lodge a support ticket as there may be other factors contributing.

Memory usage is most likely to be maximised under peak load, and when creating a site XML backup. In many cases, the backup can be the cause of the OOM, so increase -Xmx values and verify if a backup was occurring at the time of OOM. A quick rule of thumb for gauging the success of a memory adjustment is using simple anecdotal evidence from users. Is it snappier? The same? How does it handle while a backup is occurring?

Atlassian recommends in normal use, to disable the XML backup and use a Production Backup Strategy.
  • If you normally perform manual XML site backups on your server, test your maximum memory requirements by performing a site XML backup while the server is under maximum load
  • If you do not create manual XML site backups, simply monitor the server while under maximum load

Applying Memory Settings

Users of the EAR/WAR distribution set their memory in their application server. For Confluence Standalone, the heap space is set in the Confluence install directory.

  • Windows users edit TOMCAT_HOME/bin/setenv.bat
  • Other OS users edit TOMCAT_HOME/bin/setenv.sh

If you are running Tomcat as a Windows service, you may need to run a regedt32 to increase memory as in the article on increasing JIRA memory. Although the article discusses JIRA, it should also be applicable to Confluence.

The relevant parameter is

JAVA_OPTS="-Xms256m -Xmx1024m"

Where -Xms is the minimum and -Xmx is the maximum memory available to Apache Tomcat. In this sample the maximum memory has been set to 1024 megabytes, but you will have to figure out the best setting based on your particular environment. In regedit, it will be listed as JvmMs and JvmMx.

Note: In newer Tomcat distributions the file may not exist. Feel free to create it in the ./bin directory.

Related Topics

Document generated by Confluence on Jul 09, 2010 01:09