如何在不修改jmeter.bat文件的情况下增加JMeter堆大小?

时间:2017-08-03 09:52:20

标签: batch-file jmeter heap

我有多个具有多个堆需求的脚本。那么如何在不更改bat文件的情况下动态处理它?是否可以从用户定义属性文件传递堆大小?环境变量?你能否建议。提前谢谢

2 个答案:

答案 0 :(得分:0)

它出现在getting started手册中:

  

环境变量JVM_ARGS可用于覆盖jmeter.bat脚本中的JVM设置。例如:

set JVM_ARGS="-Xms1024m -Xmx1024m -Dpropname=propvalue"
jmeter -t test.jmx …

答案 1 :(得分:0)

update your jmeter.sh file as below
java -server $JVM_ARGS -jar `dirname $0`/ApacheJMeter.jar "$@"

your executable".sh"(which has all information about jmeter home, script name which needs to be executed) should be as follows----
#!/bin/sh
JVM_ARGS="-Xms2g -Xmx2g"
JMETER_HOME=/tui/endeca/endeca/ToolsAndFrameworks/jmeter/app/apache-jmeter-3.1/
export JVM_ARGS
export JAVA_HOME
echo $JAVA_HOME
echo $JVM_ARGS
#export JMETER_HOME
$JMETER_HOME/bin/jmeter.sh -n -t "/tui/endeca/endeca/ToolsAndFrameworks/Script/TH/script.jmx"

To see the updated heap use the below in JSR223 Sampler(Thanks to Dmitri for solution)
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)
}