首页 > 解决方案 > 如何在Jmeter中为非gui分布式负载测试传递堆参数?

问题描述

运行分布式非 gui 负载测试导致堆转储。运行 jmeter 时需要传递命令行参数来设置堆首选项。

标签: jmeterperformance-testingheap-dumpdistributed-testing

解决方案


当你执行distributed时,slave应该已经准备好接受请求,所以你需要提前定义它。

运行 JMeter建议在 setenv.bat/sh 中设置值

设置变量 JVM_ARGS 将覆盖大多数预定义设置,例如

JVM_ARGS="-Xms1024m -Xmx1024m" jmeter -t test.jmx [etc.]

将覆盖脚本中的 HEAP 设置。

要永久设置这些变量,您可以将它们放在 bin 目录中名为 setenv.sh 的文件中。该文件将在运行 JMeter 时通过调用 jmeter 脚本获取。bin/setenv.sh 的示例可能如下所示:

# Use a bigger heap, but a smaller metaspace, than the default
export HEAP="-Xms1G -Xmx1G -XMaxMetaspaceSize=192m"

推荐阅读