Jmeter,如何增加堆大小

Jef*_*ino 4 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
)
Run Code Online (Sandbox Code Playgroud)

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

set HEAP=-Xms2g -Xmx8g -XX:MaxMetaspaceSize=512m
Run Code Online (Sandbox Code Playgroud)

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

Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaSpaceSize=256m" in the jmeter batch file
Run Code Online (Sandbox Code Playgroud)

那么这是否意味着批处理文件中的更改不起作用?或者在非 GUI 模式下运行时它确实有效?我是否错过了需要更改的内容或什么?提前致谢。

Dmi*_*i T 5

  1. java.lang.OutOfMemoryError: Java heap space除非遇到错误或检测到异常高的GC活动,否则不需要增加堆
  2. 该消息基本上是一种建议形式,即使您有几 TB 的堆空间,您也会看到它,因为它只是硬编码的,并且始终在 GUI 启动期间显示。如果您想查看所有 Java 参数(包括堆空间设置),您可以使用JSR223 Sampler和以下Groovy代码:

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

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

    在此输入图像描述