1

我在运行测试时收到此错误:“jmeter.control.GenericController: StackOverflowError detected”。我无法理解为什么我会收到此错误。

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

4

1 回答 1

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添加到任何这些变量中,例如

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

于 2012-07-16T13:24:16.597 回答