【问题标题】:Increasing the ThreadStackSize to solve "jmeter.control.GenericController: StackOverflowError detected" error增加 ThreadStackSize 以解决“jmeter.control.GenericController: StackOverflowError detected”错误
【发布时间】:2012-07-14 12:16:45
【问题描述】:

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

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

【问题讨论】:

    标签: jmeter load-testing performance-testing


    【解决方案1】:

    查看您的 JMETER_HOME/bin 目录,找到 jmeter 文件(unix shell - 如果您使用任何 unix/linux)或 jmeter.bat(windows bat 文件 - 如果您使用的是 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 "$@"
    
    甚至
    java $ARGS $JVM_ARGS -XX:ThreadStackSize=4096 -jar dirname $0/ApacheJMeter.jar "$@"
    
    并重新启动您的 jmeter 实例。

    【讨论】:

    • 非常感谢Alies!我会试试这个。
    • 另外,您能否查看我提出的与在 CSV 数据集配置文件名中使用参数相关的查询? [链接] (sqa.stackexchange.com/questions/3441/…) 如果您能建议我一些解决方案,那就太好了。
    猜你喜欢
    • 2013-11-15
    • 2014-10-03
    • 2019-12-05
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 2012-03-10
    相关资源
    最近更新 更多