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.:
- ./gradlew build sonarqube
Update: I am also setting jvm args for gradle in the gradle.properties, e.g.
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.
Project managers know this problem: A “mountain of work” lays in front of you, and you don’t know how and where to tackle them. Different to-dos lie ahead, but just one task after the other can be ha...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events