增加ThreadStackSize以解决“jmeter.control.GenericController:检测到StackOverflowError”错误

时间:2012-07-14 12:16:45

标签: jmeter load-testing performance-testing

我收到此错误:" jmeter.control.GenericController:检测到StackOverflowError"当我运行我的测试。我无法理解为什么我会收到此错误。

我在JMeter的论坛上读到了类似的问题,有人建议将ThreadStackSize增加到4096.我在Jmeter的GUI模式下运行测试。我应该在哪里更改ThreadStackSize?在Jmeter' s / bin目录中是否有一些文件可以更改此属性?

1 个答案:

答案 0 :(得分:1)

查看你的JMETER_HOME / bin目录,找到jmeter文件(unix shell - 如果你正在使用任何unix / linux)或jmeter.bat(windows bat-file - 如果你正在使用Windows操作系统。) 你可以找到两个字符串:

HEAP="-Xms512m -Xmx512m"
NEW="-XX:NewSize=128m -XX:MaxNewSize=128m"
TENURING="-XX:MaxTenuringThreshold=2"
RMIGC="-Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000"
PERM="-XX:PermSize=64m -XX:MaxPermSize=128m"
DUMP="-XX:+HeapDumpOnOutOfMemoryError"
SERVER="-server"
ARGS="$SERVER $DUMP $HEAP $NEW $SURVIVOR $TENURING $EVACUATION $RMIGC $PERM"
java $ARGS $JVM_ARGS -jar dirname $0/ApacheJMeter.jar "$@"
定义jmeter的JVM参数的值。


只需将 -XX:ThreadStackSize = 4096 添加到任何这些变量中 dirname $0

甚至 ARGS="$SERVER $DUMP $HEAP $NEW $SURVIVOR $TENURING $EVACUATION $RMIGC $PERM -XX:ThreadStackSize=4096" java $ARGS $JVM_ARGS -jar dirname $0/ApacheJMeter.jar "$@" 并重新启动你的jmeter实例。