在运行时更改Jmeter的堆大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在运行时更改Jmeter的堆大小相关的知识,希望对你有一定的参考价值。

我想在运行时更改jmeter的堆大小。你能否建议我如何实现它

我使用了下面的命令,但看起来像我设置的无效堆。

我用了:

Runtime.getRuntime().maxMemory(); 

检查分配的内存并返回

9544663040

看起来我做错了什么。

JVM_ARGS="-Xms2g -Xmx6g" /tui/endeca/endeca/ToolsAndFrameworks/jmeter/app/apache-jmeter-3.1/bin/jmeter.sh -n -t /tui/endeca/endeca/ToolsAndFrameworks/Script/TH/TH_BitBucket_Augu3_Lg.jmx

先感谢您

答案

我不认为你检查最大堆的方法是正确的,我相信你应该使用JMX检查有效参数,特别是MemoryPoolMXBean

检查你的论证是否被应用的快速方法是以下Groovy code(在任何JSR223 Test Elements中使用它)

import java.lang.management.ManagementFactory
import java.lang.management.RuntimeMXBean

def runtimeMxBean = ManagementFactory.getRuntimeMXBean()
def arguments = runtimeMxBean.getInputArguments()

for (argument in arguments) {
    println('Effective JVM argument: ' + argument)
}

演示:

JMeter Heap Check

以上是关于在运行时更改Jmeter的堆大小的主要内容,如果未能解决你的问题,请参考以下文章

将数组分配到运行时已知大小的堆上

减少 JVM 中未使用的堆大小

jmeter中的堆安装程序

JMeter接口测试-模块控制器

JMeter:逻辑控制器_模块控制器(Module Controller)

在片段中在运行时更改方向时更改布局而不重新创建视图