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

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root


1 badge earned


Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!


Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.


Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!


Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

Why is Bamboo consuming swap space when memory is available?

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.
Aug 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