This documentation relates to an earlier version of Bamboo.
View

Unknown macro: {spacejump}

or visit the current documentation home.

I am getting Out of Memory errors, how can I allocate more memory to Bamboo?

Since the default memory setting usually is 256MB in Bamboo, you might have to adjust the settings to run a bigger Bamboo instance with sufficient memory.

On Linux

  • In the unpacked bamboo standalone directory, edit the file bamboo.sh
  • Edit the line beginning with RUN_CMD= substituting new values for -Xms (starting memory) and -Xmx (maximum memory)
  • Leave the rest of the options in that line unchanged

An example of a minimal setting for a large system - max heap size is set to 768 megabytes:

RUN_CMD="java \-server \-Xms512m \-Xmx768m \-XX:MaxPermSize=256m \-Djava.awt.headless=true \-classpath $CLASSPATH \-Dorg.mortbay.xml.XmlParser.NotValidating=true \-Djetty.port=8085 com.atlassian.bamboo.server.Server 8085 ./webapp /"
  • Leave the rest of the options in that line unchanged

On Windows

Bamboo uses wrapper to start, in Bamboo either as a service or in console  

  • The wrapper reads the configuration from wrapper.conf found in BAMBOO_INSSTALL/conf . The parameters in file are well documented and is out of the scope of this article.{{}}
  • Edit the -Xms value to increase your Bamboo memory

Other Notes

(minus)

Allocating too much memory to your JVM Heap can also cause OutOfMemory Errors.

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. Big heaps take away from the space that can be allocated for the stack of a new thread
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.
The size of the stack per thread can also contribute to this problem. The stack size can reduce the number of threads that can be created.

To fix this problem, you should reduce the size of your JVM Heap and also the size of the stack per thread.
The stack size can be changed with the following (example) parameter:

"-Xss512k"

Please refer to this guide as a reference for JVM tuning.

Permanent Generation Size

If 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 and increase the memory.

(warning)

JDK 1.4 does not provide information why the OutOfMemory error occurred.
JDK 1.5 and above are recommended as it provides description of the error as in the above example.

  • No labels