今天用非gui方式进行压测,压测脚本执行到18分钟的时候突然报java.lang.OutOfMemoryError,百度了一下发现是内存溢出。网上各种博客都是说linux 和windows 非gui设置堆和栈内存的方法。没有找到非gui的设置堆和栈内存大小的。花了半小时都没有找到。后来在window命令行发现,命令如下:
jmeter -n -t D:/***目录**/**文件名**/.jmx -l result.jtl -e -o D:/***目录**/报告目录
jmeter 为啥是jmeter 而不是jmeter.bat?
于是到jmeter根目录/bin下一看
原来windows 命令行模式调用的是这个文件,然后打开文件
发现了这个。果断-Xmx1g改为8g,这个值最好不要超过计算机总内存的一半。改为如下,保存
: "${HEAP:="-Xms1g -Xmx8g -XX:MaxMetaspaceSize=256m"}"
再次跑的时候完美解决!!!
ps:
可以通过jconsole.exe查看jmeter内存设置是否成功