我面临下面的OutOfMemor错误,而JMeter停止工作....
java.lang.OutOfMemoryError: Java heap space Dumping heap to
java_pid4412.hprof ... Heap dump file created [591747609 bytes in
71.244 secs] Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space Exception in thread
"AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError:
Java heap space Exception in thread "AWT-EventQueue-0"
java.lang.OutOfMemoryError: Java heap space如何解决呢?
我的系统有非常好的规格,比如16 GB RAM,2个四核处理器,146 GB硬盘。
有谁可以帮我?
发布于 2012-11-23 14:57:01
您的堆转储显示您正在使用512Mo的默认JMeter设置。因此,即使你有16 so的内存,你也不会使用它们。
将jmeter.bat中的默认JVM可选替换为正确的大小:
set HEAP=-server -Xms768m -Xmx768m -Xss128k
set NEW=-XX:NewSize=1024m -XX:MaxNewSize=1024m另请参阅:
发布于 2010-02-18 14:39:59
您为JVM分配了多少内存?大约512MB的某个地方?
配置为
java -Xms<initial heap size> -Xmx<maximum heap size>发布于 2016-07-24 00:01:12
要优化OutOfMemoryError,应遵循以下步骤:
JMeter是一个与JVM一起运行的Java工具。为了获得最大的性能,我们需要在execution.First期间为JMeter提供最大的资源,我们需要增加堆大小(在JMeter的bin目录中,我们得到jmeter.bat/sh)。
HEAP=-Xms512m –Xmx512m表示默认分配的堆大小最小为512MB,最大为512MB。按照you own configuration进行配置。还应该记住,操作系统也需要一定数量的内存,因此不应该分配所有的物理RAM。
非图形用户界面Mode:中的
JMeter是Java 图形用户界面的应用程序。它也有非GUI版本,这是非常资源密集型(CPU/RAM)。如果我们在非图形用户界面模式下运行Jmeter,它将消耗更少的资源,并且我们可以运行更多的线程。
在测试运行期间
应在负载测试期间禁用侦听器。启用它们会导致额外的开销,这会消耗测试中更重要的元素所需的宝贵资源。
Java和JMeter应该保持更新。
操作的指标
当涉及到存储请求和响应头时,断言结果和响应数据可能会消耗大量内存!因此,明智的做法是,除非绝对必要,否则不要将这些值存储在JMeter上。
还可以在JMeter启动脚本中添加或修改以下JVM参数:
1.添加内存分配率:
NEW=-XX:NewSize=128m -XX:MaxNewSize=512m
这意味着内存将以此速率增加。
2.-server -通过运行时参数优化将JVM切换到“服务器”模式。在此模式下,JMeter启动较慢,但总体吞吐量较高。
JVM 3.jvm-当使用64位操作系统时,使用这个参数可以显式地告诉在64位模式下运行。
-XX:+UseConcMarkSweepGC -强制使用垃圾收集器。它将降低总体吞吐量,但会大大缩短CPU密集型垃圾收集时间。
5. -XX:+DisableExplicitGC -这可以防止应用程序强制执行昂贵的垃圾回收,并帮助避免意外的暂停。
为了更好和更详细地理解,这个关于9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure的博客是有帮助的。
https://stackoverflow.com/questions/2286750
复制相似问题