0
votes

Jmeter slave (distributed testing): Getting GC overhead limit exceeds in slave machines when users reaches 300+. I have already made changes to jmeter.sh file in 3 machines (1 master and 2 slaves) with heap size to 3GB but for some reason this values are not considered. Please guide how and where to set heap size in slave machines.

Running in non gui mode without adding any listeners or graphs.

Running command:


sudo docker exec -i master /bin/bash -c "/jmeter/apache-jmeter-3.1/bin/jmeter -n -t /home/xx_journey_new.jmx -Djava.rmi.server.hostname=zz.zz.zz.zz -Dclient.rmi.localport=60000 -Rxx.xx.xx.xx,yy.yy.yy.yy -j jmeter.log -l result.csv"

jmeter.sh file in slave machines:


HEAP="-Xms1024m -Xmx3072m"

Tried with below also: set HEAP=-Xms4g -Xmx4g

enter image description here Please guide. Attched file has full details about errors.

2

2 Answers

1
votes

Looking into GC overhead limit exceeded article:

The java.lang.OutOfMemoryError: GC overhead limit exceeded error is displayed when your application has exhausted pretty much all the available memory and GC has repeatedly failed to clean it.

So it indicates the problem with your test as it uses all the heap space allocated to JMeter and Java Garbage Collector cannot efficiently free up some memory to continue.

So make sure you're:

1
votes