Java – Increase memory for jMeter on command line

command lineheap-memoryjavajmetermacos

I am running jMeter from the command line on a Mac. Today it threw an Out of memory, heap space error….

newbie$ sh jmeter.sh
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
at java.awt.image.Raster.createPackedRaster(Raster.java:455)

I know I need to increase the memory allocated to it, but not sure how. I looked at this post Unable to increase heap size for JMeter on Mac OSX and found that jMeter script file in the bin folder it mentions and made the below updates..

HEAP="-Xms1024m -Xmx2048m"
NEW="-XX:NewSize=512m -XX:MaxNewSize=1024m"

But I am still getting the out of memory error. Do I just need to give it more or am I changing in the wrong place? Could it be I need to restart my whole machine?

Best Answer

As far as I understand:

  • You made changes to jmeter script
  • You're launching jmeter.sh script
  • You want to know why the changes are not applied?

If you changed jmeter script why don't you just launch it as ./jmeter ?

If you need to start JMeter via jmeter.sh for any reason, run it as follows:

JVM_ARGS="-Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=1024m"  && export JVM_ARGS && ./jmeter.sh

See Running JMeter User Manual chapter in particular and The Ultimate JMeter Resource List in general for the relevant documentation.