Missed Team ’24? Catch up on announcements here.

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

Why is Bamboo consuming swap space when memory is available?

I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
June 15, 2020

I have a number of Bamboo remote agents each with 6GB RAM and 1GB of swap.  Our monitoring keep alerting that we have peaks where more than 50% of swap space is being used.  Correspondingly monitoring is still showing ~4GB of RAM is free.

I have tried increased the mx value for the Bamboo agent to 2GB of memory, and whilst this has reduced the occurrences the problem persists.

I have added some additional monitoring to look at the JMX value coming out of Java and these seem to confirm that the Java process is not using very much memory.  Although why is inconclusive.

Can anyone offer any thoughts or suggestion, or is this to be expected?  My gut and reading tell me that swapping is not desirable, although I know some swapping is expected.  I am a novice when it comes to Java tuning and curious why the observed activity is taking place.

1 answer

0 votes
Giovanna Fragoso
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 27, 2021

Hi James,

The memory consumed by the remote agents is not the only one required for building. Remote agents will use external tools in order to perform a build. As an example, checking out the code will be performed by native git (that will create a new git process on the box that will run for the time of the checkout), compiling will use external tools (make, maven, or any other build tool) that will create a temporary child process that will consume the memory necessary for the compilation and will automatically be shut down after the compilation is completed.

If we set up 1GB of heap memory does not mean that the total memory footprint of the agent will be 1GB. The JVM will allocate 1GB for the heap and some additional memory for itself and all the libraries used by the agents (also known as stack memory). This memory depends on the number of plugins that need to be loaded on the remote agents.

Suggest an answer

Log in or Sign up to answer
AUG Leaders

Atlassian Community Events