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

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

Avatar

1 badge earned

Collect

Participate in fun challenges

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

Challenges
Coins

Gift kudos to your peers

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

Recognition
Ribbon

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!

Leaderboard

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
4,456,245
Community Members
 
Community Events
176
Community Groups

Unable to create max heap size bigger than 4gb on remote agent

Hello,

We have a maven build that is failing on a remote agent with java heap space errors.

The remote agent is a virtual machine and I've been experimenting with combinations of increasing the ram on the box and increasing/decreasing the heap size of the Bamboo agent to try and resolve our problem.

However, I have noticed that if I specify a heap size greater than 4gb the agent doesn't seem to reflect the max size I set, it almost seems to be limited to 4gb.

[Mon Jul 13 18:05:19]# cat /opt/bamboo/bamboo-agent-home/conf/wrapper.conf
...
# Initial Java Heap Size (in MB)
wrapper.java.initmemory=256

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=8192

[Mon Jul 13 18:10:35]# top
...
3736 bamboo 20 0 9709340 769112 34456 S 0.3 4.7 0:40.07 java -Dbamboo.home=/opt/bamboo/bamboo-agent-home -Dbamboo.agent.ignoreServerCertName=false -Xms256m -Xmx4096m

 

I can specify max heap size lower than 4gb and the heap size will change OK, but it won't go higher than 4gb.

The agent is version 5.9.1



Thanks
Ted

1 answer

0 votes
Jeyanthan I Atlassian Team Jul 13, 2020

Hi @Ted Thompson ,

This sounds like you're using a 32 bit JDK.The maximum theoretical heap limit for the 32-bit JVM is 4G as explained in Oracle FAQ page. You may check it by running java -version.

Cheers, Jey.

Thanks Jey, unfortunately that doesn't seem to be the problem.

[Tue Jul 14 09:50:10]# java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)


[Tue Jul 14 09:50:16]# uname -r
3.10.0-1127.13.1.el7.x86_64

[Tue Jul 14 09:50:27]# cat /etc/centos-release
CentOS Linux release 7.8.2003 (Core)

I'll keep digging.

Thanks,
Ted

Interestingly, if I put the heap sizes as additional options in the wrapper and comment out the predefined heap option it works?

[Tue Jul 14 10:13:03]# cat /opt/bamboo/bamboo-agent-home/conf/wrapper.conf
# Java Application
wrapper.java.command=java

# Java Main class.
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp

# Java Classpath (include wrapper.jar)
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/bamboo-agent-bootstrap.jar

# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=../lib

# The Bamboo Agent home configuration file
wrapper.java.additional.1=-Dbamboo.home=/opt/bamboo/bamboo-agent-home
wrapper.java.additional.2=-Dbamboo.agent.ignoreServerCertName=false

wrapper.java.additional.3=-Xms256m
wrapper.java.additional.4=-Xmx8192m

...

# Initial Java Heap Size (in MB)
#wrapper.java.initmemory=256

# Maximum Java Heap Size (in MB)
#wrapper.java.maxmemory=8192

 

[Tue Jul 14 10:16:43]# top
...
-Dbamboo.agent.ignoreServerCertName=false -Xms256m -Xmx8192m -Djava.library.path=../lib -classpath ../lib/wrapper.jar:../lib/bamboo-a

The predefined heap areas need to be commented out otherwise you end up with two lots of heap options being appended to the command.

Jeyanthan I Atlassian Team Jul 14, 2020

Hi Ted,

Could it be that you have multiple Java installed on your server? The following command should list all the available Java versions:

alternatives --config java

I usually find the JVM parameters and the Java path of Bamboo agent process by running this:

ps -ef | grep bamboo-agent

Also, what happens when you try to start Bamboo without a service wrapper?

You can start using the direct agent jar from <baseURL>/admin/agent/addRemoteAgent.action as described in here.

java -jar bamboo-agent-2.2.2.jar http://<host>:8085/agentServer/ <tokenKey>

Cheers,
Jey

Hi Jey,

We we have a few versions of java as these are also JDK capabilities.

[Tue Jul 14 21:44:06]# alternatives --config java

There are 4 programs which provide 'java'.

Selection Command
-----------------------------------------------
+ 1 /usr/java/jre1.8.0_25/jre/bin/java
2 /usr/lib/jvm/zulu-8/bin/java
3 /usr/java/jdk1.8.0_144/jre/bin/java
* 4 /usr/lib/jvm/zulu-11/bin/java

Enter to keep the current selection[+], or type selection number:

 

Do you mean lib/bamboo-agent-bootstrap.jar ?

Thanks,
Ted

Jeyanthan I Atlassian Team Jul 16, 2020

Hi Ted,

Thanks for sharing the output. It looks like your server is pointing to a JRE binary as its default to start the agent. Could you please use one of the supported variants of JDK as described in our supported platforms page?

Do you mean lib/bamboo-agent-bootstrap.jar ?

Do you find a jar file under the section Running the agents without the service wrapper  in the page Bamboo administration -> Agents -> Install remote agent? I meant this file.

Cheers,
Jey

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events