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.
Hello Community! I hope you've been enjoying the 🍂Apptoberfestivities🍂 (I know I have!) The event is heating up next week with a series of virtual events that we're calling the 🍻🍂Partner App ...
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