Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

java.lang.OutofMemoryError:Java heap space error running gradle build

Jay Seletz December 12, 2019

I have a pipeline running gradle builds.  The pipeline is using docker and mysql for services as well as several caches.  The pipeline is intermittently running out of java heap space.  I'm trying to understand the memory usage/limitations as described here.

When it says "The build container is given 1024 MB of the total memory", is that a hard limit, unaffected by the "size: 2x" setting?  If the gradle build step needs to use more than 1gb, what are my options?

It sounds like the 4 or 8GB made available to the pipeline is total memory for the build container plus other docker containers run as services and any DockerInDocker commands - I'm trying to understand how much of that 4/8 GB can be allocated to my Gradle step e.g.:

pipelines:
default:
- step:
script:
- ./gradlew build sonarqube

Update: I am also setting jvm args for gradle in the gradle.properties, e.g.

org.gradle.jvmargs=-Xmx2048m

 

1 answer

0 votes
Steven Vaccarella
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 19, 2019

Hi Jay,

Yes, the 4GB (or 8GB for 2x steps) is the total memory available for your step and is split up between your build container and any services you configure. By default each service gets 1GB, so if you configure 3 services in a 1x step your build container will only have 1GB available. At the other extreme, if you don't configure any services in a 2x step your build container will get the full 8GB. You can also change the amount of memory assigned to each service, which will affect the amount of memory left over for your build container.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events