Increase memory for jMeter on command line

2019-05-26 08:20发布

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?

3条回答
Anthone
2楼-- · 2019-05-26 09:10

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.

查看更多
干净又极端
3楼-- · 2019-05-26 09:18

If you have trouble finding it in the logs, then You can use

ps -ef | grep jmeter

this may give you the details( Not a mac user, but I thing ps -ef would work)

The other option is to use jvisualvm, it ships already with jdk, so no extra tool is required.Run the visualvm and the jmeter, you can guess the name of the application ( entry of jemter ) on the left pane of visualvm , click on it, and all the jvm details will be available.

After this you can confirm whether jmeter is availed with 2GB max Ram. And increase if needed.

查看更多
戒情不戒烟
4楼-- · 2019-05-26 09:24

There could be different possible reasons for OutOfMemory Error. If you have successfully changed the allocated memory/heap size and still getting the issue then you can look into following factors:

Listeners: Do not use 'TreeView' and 'TableView' Listeners in actual load test as they consume lot of memory. Best practice is to save results in .JTL file, which can be later used for getting different reports.

Non-GUI Mode: Do not use GUI mode while performing actual load test. Run test from command line.

For more, visit the following blog as it has some really nice tips to solve OutOfMemory issues in JMeter.

http://www.testingdiaries.com/jmeter-out-of-memory-error/

查看更多
登录 后发表回答