Confluence 2.5.6 : Fix 'Out of Memory' errors by increasing available memory
This page last changed on Jul 02, 2007 by ivan@atlassian.com.
I am getting Out of Memory errors, how can I allocate more memory to tomcat? Since the default memory setting usually is around 64 or 128MB (256MB in Confluence 2.2 and later), you might have to adjust the settings to run a bigger Confluence instance with sufficent memory. Users running Confluence as a service please refer to the Start Confluence automatically on Windows as a Service page. For users running Tomcat standalone, you will have to change the following settings: Confluence 2.2 or later (Tomcat 5.5)Do not set your memory using CATALINA_OPTS this is overridden by JAVA_OPTS. On Linux
An example of a minimal setting for a large system - max heap size is set to 1Gb : JAVA_OPTS="-Xmx1024m $JAVA_OPTS -Djava.awt.headless=true " On Windows
Confluence 2.1 and earlier (Tomcat 4.0)On Linux The line you add should go just before the line starting exec "$PRGDIR... On Windows For example if you want to allocate a minimum heap size of 256MB and a max heap size of 512MB you will have to write the following on Windows: The line you add should go just before the line starting call "%EXECUTABLE%"... If you are running tomcat 5.5 via tomcat.exe, you can update the heap size by running tomcatw.exe and setting the required values via the Java tab. Other Notes
java.lang.OutOfMemoryError: unable to create new native thread This error occurs when the operating system is unable to create new threads. This is due to the JVM Heap taking up the available RAM.
For Linux the maximum heap size of the JVM cannot be greater than 2GB. If you only have 2GB RAM in your server, it is not recommended to set the Max size of the JVM that high. To fix this problem, you should reduce the size of your JVM Heap and also the size of the stack per thread. "-Xss512k" Please refer to this guide as a reference for JVM tuning. On OS XIf you are using the 'serveradmin start appserver' to start and stop tomcat, then you will need to update /usr/share/servermgrd/bundles/servermgr_appserver.bundle/Contents/Resources/run.sh Permanent Generation SizeIf you get the error message: java.lang.OutOfMemoryError: PermGen space this means that you have exceeded Java's fixed 64Mb block for loading class files. You will need to add the argument -XX:MaxPermSize=128m to CATALINA_OPTS, in addition to any argument you use to set the heap size. Please refer to this link for more information.
RELATED TOPICSManaging Application Server Memory Settings |
![]() |
Document generated by Confluence on Oct 10, 2007 18:37 |