首页 > 解决方案 > 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模式下运行时有效?我错过了要改变的东西还是什么?提前致谢。

标签: javajmeter

解决方案


  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")
    }
    

    这样您就可以测试您的更改是否已应用:

    在此处输入图像描述


推荐阅读