Jmeter,如何增加堆大小

时间:2018-12-03 00:59:33

标签: java jmeter

我已阅读到您需要更改jmeter.bat文件(我正在使用Windows)中的堆大小以增加内存,以便能够测试约500个或更多线程。这是默认设置:

if not defined HEAP (
    rem See the unix startup file for the rationale of the following parameters,
    rem including some tuning recommendations
    set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
)

我将set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m更改为:

set HEAP=-Xms2g -Xmx8g -XX:MaxMetaspaceSize=512m

但是当我以GUI模式打开Jmeter时,命令行窗口中会出现一条消息

Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaSpaceSize=256m" in the jmeter batch file

这是否意味着批处理文件中的更改不起作用?还是在非GUI模式下运行确实有效?我错过了要更改的东西吗?提前致谢。

1 个答案:

答案 0 :(得分:0)

  1. 除非面对java.lang.OutOfMemoryError: Java heap space error或检测到异常高的GC活动,否则无需增加堆
  2. 该消息基本上是一种建议,即使simply hard-coded拥有几TB的堆空间,您也将看到它,并且始终在GUI启动期间显示。如果要查看所有Java参数(包括堆空间设置),可以使用JSR223 Sampler和以下Groovy代码:

    java.lang.management.ManagementFactory.getRuntimeMXBean().getInputArguments().each {
        log.info("Effective JVM argument: " + "$it")
    }
    

    通过这种方式,您可以测试更改是否被应用:

    enter image description here