jmeter报错:内存溢出
使用jmeter进行压力测试时,经常会遇到内存溢出错误:
2018-08-28 09:01:26,686 ERROR o.a.j.JMeter: Uncaught exception:
java.lang.OutOfMemoryError: Java heap space
我们来看看官方文档如何解决这个问题:
官方文档1:https://wiki.apache.org/jmeter/ErrorMessages
Exception java.lang.OutOfMemoryError: requested nnnn bytes for promotion. Out of swap space?
Not enough memory was available to Java to run the test. There are numerous possible causes, the most likely is using Listeners that use a lot of memory, such as Aggregate Report and View Results Tree. You can increase the amount of memory by editting the jmeter.bat file or the jmeter shell script. Use non-GUI mode if possile. See...
中文解释:
java.lang.OutOfMemoryError异常:请求nnnn字节进行升级。 交换空间?
没有足够的内存可供Java运行测试。 有许多可能的原因,最有可能是添加了耗费大量内存的监听器,例如聚合报告和查看结果树。 您可以通过编辑jmeter.bat文件或jmeter shell脚本来增加内存量。 如果可能,请使用非GUI模式。 具体请查看jmeter之最佳实践 中的16.7 减少资源需求:
关于减少资源使用的一些建议。
使用非GUI模式:jmeter -n -t test.jmx -l test.jtl
使用尽可能少的监听器:如果使用上面的-l标志,则可以删除或禁用它们。
在负载测试期间,请勿使用“查看结果树”或“View Results in Table”监听器,仅在脚本编写阶段使用它们来调试脚本。
在循环中对于相似的请求最好使用同一个采样器并使用变量(CSV Data Set)来区分,而不是使用多个相似的取样器。 [使用控制器在这里没有帮助,因为它会将文件中的所有测试元素添加到测试计划中。]
不要使用功能模式。
使用CSV输出而不是XML。
仅保存您需要的数据。
使用尽可能少的断言。
使用性能最佳的脚本语言(参见JSR223部分)。
如果您的测试需要大量数据 - 特别是如果需要随机化 - 请在可以用 CSV Dataset 读取的文件中创建测试数据。这可以避免在运行时浪费资源。
官方文档2:https://wiki.apache.org/jmeter/JMeterFAQ
JMeter keeps getting "Out of Memory" errors. What can I do?
This is usually caused by including memory intensive listeners in your stress test. Listeners like "View Tree Results" are useful for debugging your test, but they are too memory intensive to remain in your test when you ramp up the number of simulated users and iterations. The best listeners to use for a long-term, high-load test are Aggregate Listener, Graph Listener, and Spline Listener.
In addition, you can instruct the JVM to use more memory by editing the jmeter/jmeter.bat files for linux/windows. Within these files, find a section that sets values for the Heap:
• set HEAP=-Xms256m -Xmx256m
Feel free to change these values. Xms indicates the starting RAM the jvm will take, and Xmx will be the maximum it is allowed (for the HEAP).
中文解释:
JMeter不断出现“Out of Memory”错误。我能做什么?
这通常是由压力测试中包含内存密集型监听器引起的。 像“查看树结果”这样的监听器对于调试测试很有用,但是当你增加模拟用户和迭代次数时,它们的内存密集性太大而不能保留在测试中。 用于长期高负载测试的最佳侦听器是Aggregate Listener,Graph Listener和Spline Listener。
此外,您可以通过编辑linux/windows的jmeter.sh/jmeter.bat文件来指示JVM使用更多内存。在这些文件中,找到一个为Heap设置值的部分:
例如设置:HEAP = -Xms256m -Xmx256m
可根据测试机器实际内存情况来更改这些值。 Xms表示jvm将采用的起始RAM,Xmx将是允许的最大值(对于HEAP)。
官方文档3:http://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
A single JMeter client running on a 2-3 GHz CPU (recent CPU) can handle 1000-2000 threads depending on the type of test.
中文解释:
在2-3 GHz CPU(目前的CPU)上运行的单个JMeter客户端可以处理1000-2000个线程,具体取决于测试类型。
所以当线程数过多时,可能你需要考虑使用分布式测试了。
jmeter报错:内存溢出的更多相关文章
- webpack打包---报错内存溢出javaScript heap out of memory
今天, npm run build打包时,又报内存溢出了.所以记录一下,之前查了博客有一些解释. “报错CALL_AND_RETRY_LAST Allocation failed - JavaScri ...
- Jmeter报错之jmeter.gui.action.ActionRouter: Error processing gui.action.Start@1b7c473a java.lang.ArrayIndexOutOfBoundsException
一个使用了很久的Jmeter脚本,运行时Jmeter的UI界面上点击绿色按钮后,完全无反应,只有log报错,如下: 2017/06/28 14:29:23 ERROR - jmeter.gui.act ...
- round函数解决oracle报错"OCI-22053: 溢出错误"的问题
继上次公司网站报错除数为0的问题,这次又来报错溢出错误,还是同一条语句!搜索网上的解决方法,发现问题描述和解决方法如下: Oracle 数值数据类型最多可存储 38 个字节的精度.当将 Oracle ...
- jmeter 报错Error in NonGUIDriver java.lang.IllegalArgumentException: Report generation requires csv output format, check 'jmeter.save.saveservice.output_format' property
设置jmeter报个的时候报下面错 只要细心看问题就是把它jmeter.save.saveservice.output_format'的格式改为csv就对 这个属性是在jmeter.propertie ...
- jmeter报错:响应数据HTTP Status 500 & 后台日志Typed variable declaration : Object constructor
今天在测试文件下载接口,发现在测试单个文件下载1次时,文件成功下载.但是在测试单个文件并发下载50次时,Jmeter报错了,后台服务器tomcat竟然没有发现报错信息. Jmeter响应信息报错: H ...
- jmeter本机内存溢出如何修改?
websocket连接过程中内存溢出,本机配置的内存最大和最小设置的512: 一.后台返回 二.结果树返回: Thread Name: 线程组 1-9Sample Start: 2017-09-11 ...
- JMeter报错 ERROR o.a.j.t.JMeterThread: Test failed!
第一次用JMeter,然后跟着教程走,发现进行测试的时候直接报错 显示如下 反复测试依然报错,网上搜索也没什么结果,自己测试了一下才发现问题. 左边创建了CSV DATA 但是并没有进行设置 导致报 ...
- windows7上启动jmeter报错,寻求解决办法?
背景: 已安装jdk 12,已配置环境变量,点击jmeter.bat 或者进入cmd启动jmter都无法启动 如图: 情况1.在cmd模式下报错 情况2: 打开运行,输入“powershell ise ...
- Linux环境下Jmeter 报错:Unable to get local host IP address
主要是没有在host中配置本机ip hostname查看本机名 [root@test task]# hostname test [root@test task]# 打开 [root@test task ...
随机推荐
- Java性能分析神器-JProfiler详解(一)(转)
前段时间在给公司项目做性能分析,从简单的分析Log(GC log, postgrep log, hibernate statitistic),到通过AOP搜集软件运行数据,再到PET测试,感觉时间花了 ...
- java.util.Queue(队列)的简单使用
import java.util.LinkedList; import java.util.Queue; import org.junit.Before; import org.junit.Test; ...
- Python实现C代码统计工具(四)
目录 Python实现C代码统计工具(四) 标签: Python 计时 持久化 声明 运行测试环境 一. 自定义计时函数 1.1 整个程序计时 1.2 代码片段计时 1.3 单条语句计时 二. 性能优 ...
- 【SpringCloud微服务实战学习系列】客户端负载均衡Spring Cloud Ribbon
Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现.通过Spring Cloud的封装,可以让我们轻松地将面向服务的RES模板 ...
- 第39级台阶|2013年蓝桥杯B组题解析第三题-fishers
第39级台阶 小明刚刚看完电影<第39级台阶>,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶.先迈左脚, ...
- rsync 常用参数
rsync 常用参数的具体解释如下: -v, --verbose 详细模式输出-q, --quiet 精简输出模式-c, --checksum 打开校验开关,强制对文件传输进行校验-a, --arch ...
- iOS-Core Animation: 变换
仿射变换 用 CGPoint 的每一列和 CGAffineTransform 矩阵的每一行对应元素相乘再求 和,就形成了一个新的 CGPoint 类型的结果.要解释一下图中显示的灰色元素, 为了能让矩 ...
- shell里“ ` ”
官方解释:命令替换.`command` 结构使字符(`)[译者注:这个字符不是单引号,而是在标准美国键盘上的ESC键下面,在字符1左边,在TAB键上面的那个键,要特别留心]引住的命令(command) ...
- bootstrap 弹出框实现点击后打开离开后关闭
$("#PersonName").popover({ trigger: 'manual', placement: 'bottom', //title: '<div style ...
- 转发一篇好文:36氪翻译自medium的文章: 读书没有 KPI:为什么坚持“一年读 100 本书”没用?
你只是为了达成所谓的数量目标而读书. 编者按:读书本是一项安静.缓慢的活动,但随着现代社会节奏的加快,信息技术的广泛普及,读书这一行为模式也开始发生了变化.越来越多的人开始碎片化阅读,并且越来越多的文 ...