我已经使用下图中所示的jmeter配置了一个testplan,并使用cli运行了并行负载测试。mac用户
我已经配置了一个与我的aws redshift数据库的连接,当我检查我的查询监控时,所有的查询都停留在运行状态。
一段时间后,在我的终端上,我得到以下错误:jmeter 5.3java.lang.outofmemoryerror。
我已经进入了我的bin/jemeter文件,并进行了内存更改,但我仍然面临同样的问题。
当我从dbeaver运行相同的查询时,查询将运行并完成,并且可以在红移查询监视中看到。
如何解决内存问题以使查询运行而不陷入运行状态?
下面是我在将堆大小增加到5gb之后得到的错误。
WARNING: package sun.awt.X11 not in java.desktop
Creating summariser <summary>
Created the tree successfully using //Users/mbyousaf/Desktop/redshit-test/test-redhsift.jmx
Starting standalone test @ Wed Dec 02 14:53:17 GMT 2020 (1606920797442)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
Warning: Nashorn engine is planned to be removed from a future JDK release
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid35596.hprof ...
Heap dump file created [3071802740 bytes in 3.747 secs]
1条答案
按热度按时间30byixjq1#
哪个确切的outofmemoryerror?有几个可能的原因:
缺少堆空间,如果是这种情况-您正在寻找正确的位置,请确保应用了更改
当gc执行几乎100%的时间没有给程序留下任何执行其任务的机会时,就会出现超出gc开销限制的情况
当程序试图创建太大的对象时,请求的数组大小超过vm限制
由于操作系统不允许,程序无法创建新线程时,无法创建新的本机线程
等等
如果没有看到完整的测试计划(至少是屏幕截图),就不可能说明出了什么问题,因为在这种情况下,您可能添加了大量的侦听器,并且每个侦听器都在内存和jmeter.log文件中存储了大量的db query响应(绝对不是以屏幕截图的形式),在大多数情况下,这些文件要么包含问题的原因,要么至少包含问题的原因一点线索也没有