Don't use heap sizes between 32 GB and 47 GB in Bamboo - Java Compressed OOPS

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs 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

Summary

Java disables Compressed Oops for applications heaps larger than 32 GB. This changes the memory allocation size from 4 to 8 bytes, reducing the number of objects it can store in the heap. Therefore, increasing the maximum heap to a value near 32 GB and up to 47 GB will actually decrease the amount of memory available, leading to possible Java OutOfMemoryErrors.

Solution

If you need to increase the Bamboo memory heap size to near or higher than 32 GB, please set it to a value greater or equal to 48 GB and add further memory from that point. It's also best practice to use the same value for Xms and Xmx. Although setting similar min/max heap sizes may take additional time to initially load the JVM, it will prevent pauses caused by heap expansion and decrease the time the Java Garbage Collection takes to occur, as it will not attempt to resize the heap down at every cycle.

More Information at:

Updated on February 25, 2025

Still need help?

The Atlassian Community is here for you.