Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JMETER:ERROR-JMETER.JMETER:Uncaught异常:java.lang.OutOfMemoryError:超出GC开销限制_Jmeter_Performance Testing - Fatal编程技术网

JMETER:ERROR-JMETER.JMETER:Uncaught异常:java.lang.OutOfMemoryError:超出GC开销限制

JMETER:ERROR-JMETER.JMETER:Uncaught异常:java.lang.OutOfMemoryError:超出GC开销限制,jmeter,performance-testing,Jmeter,Performance Testing,我正在AWS ubuntu机器的分布式环境中运行6450个用户测试 当测试达到峰值负载时,我得到以下错误: 错误-jmeter.jmeter:未捕获异常:java.lang.OutOfMemoryError:超出GC开销限制 我在JMeter.sh中为堆大小分配了20GB 但是当我运行ps-eaf | grep java命令时,它会给出以下响应 root 11493 11456 56 15:47 pts/9 00:00:03 java -server - XX:+HeapDum

我正在AWS ubuntu机器的分布式环境中运行6450个用户测试

当测试达到峰值负载时,我得到以下错误:

错误-jmeter.jmeter:未捕获异常:java.lang.OutOfMemoryError:超出GC开销限制

我在JMeter.sh中为堆大小分配了20GB

但是当我运行
ps-eaf | grep java
命令时,它会给出以下响应

root      11493  11456 56 15:47 pts/9    00:00:03 java -server -
XX:+HeapDumpOnOutOfMemoryError -Xms512m -Xmx512m -
XX:MaxTenuringThreshold=2 -XX:PermSize=64m -XX:MaxPermSize=128m -
XX:+CMSClassUnloadingEnabled -jar ./ApacheJMeter.jar** 

我不知道我现在要做什么更改。

jmeter文件中进行更改而不是在jmeter.sh中进行更改,因为您可以看到ps没有应用它

对于此类堆,您可能还需要添加:

-XX:-使用GCOverdeLimit

并切换到G1垃圾收集器算法

并检查您是否尊重这些建议:


首先,答案在你的问题中:你说
ps-eaf | grep java
显示了这一点:

XX:+HEAPDUMPONAUTOFMEMORYERROR-Xms512m-Xmx512m

那就是内存仍然很低。所以要么您更改了
jmeter.sh
,但使用了其他shell脚本来实际启动jmeter,要么您没有以有效的方式更改它,所以jmeter使用默认值


但最重要的是,我真的怀疑你能在一台机器上运行6450个用户,除非你的脚本很轻。未配置的机器通常可以处理200-400个,配置良好的机器可能最多可以处理2000个。

您需要修改
jmeter
文件中的行,而不是
jmeter.sh
文件中的行。找到
HEAP=“-Xms512m-Xmx512m”
行并相应地更新
Xmx

还要确保使用
JMeter
文件启动JMeter

若您的环境显式依赖于
jmeter.sh
文件,那个么您应该以稍微不同的方式修改堆大小,如:

export JVM_ARGS="-Xms512m -Xmx20480m" && ./jmeter.sh
或者将相关行添加到
jmeter.sh
文件中


有关调优JMeter的全面信息,请参阅和文章

是否尝试在GUI中运行此测试?还有,谢谢Kiril,我正在3台机器上运行测试。谢谢,现在我在JMeter文件中更改了,它显示正确。您应该接受answer和upvote,以便用户可以信任answer。谢谢
export JVM_ARGS="-Xms512m -Xmx20480m" && ./jmeter.sh