转载自:https://www.cnblogs.com/imyalost/p/7901064.html  老_张

jmeter是一个java开发的开源性能测试工具,在性能测试中可支持模拟并发压测,但有时候当模拟并发请求较大或者脚本运行时间较长时,压力机会出现卡顿甚至报异常————内存溢出,

这里就介绍下如何解决内存溢出及相关的知识点。。。

首先来看看我们常说的内存泄漏、内存溢出是什么?

内存泄露是指你的应用使用资源之后没有及时释放,导致应用内存中持有了不需要的资源,这是一种状态描述;

内存溢出是指你应用的内存已经不能满足正常使用了,堆栈已经达到系统设置的最大值,进而导致崩溃,这事一种结果描述;

通常都是由于内存泄露导致堆栈内存不断增大,从而引发内存溢出。

在利用jmeter测试过程中,如果内存溢出的话,一般会出现这个提示:java.lang.OutOfMemoryError: Java heap space:意思就是堆内存溢出,不够用了。

说到堆栈内存,顺带简单介绍下堆栈的相关知识

更详细的内容请参照这里:百度百科:堆栈

内存溢出解决方法:调整堆内存大小

步骤:

1、打开jmeter安装文件(可以用notepad++打开),bin目录下的jmeter.bat文件:

2、找到set HEAP开头的内容,根据具体需要修改堆(heap)值大小,以及NEW分配的内存值大小:

这里默认值为:

set HEAP=-Xms512m -Xmx512m
set NEW=-XX:NewSize=256m -XX:MaxNewSize=256m

将其修改为:

set HEAP=-Xms512m -Xmx4096m
set NEW=-XX:NewSize=256m -XX:MaxNewSize=512m

注意:一般而言,堆的最大值不要超过物理内存的一半,否则容易导致jmeter运行变慢、卡顿甚至内存溢出(因为java本身的垃圾回收机制是动态分配内存,

调整时候其本身会占用很多内存),NEW分配的内存,不宜太大!

3、修改完成后,关闭文件,重启jmeter既可以:

PS:当需要模拟的线程数较大时,就需要根据具体情况采用分布式压测的方式了,这种修改堆大小的方法只适用一部分情况,并不是万能的!

或者另一种解决方法:

.设置jvm的参数

Windows:

set JVM_ARGS="-Xms1024m -Xmx1024m -Dpropname=propvalue

jmeter -t test.jmx …

Linux:

JVM_ARGS="-Xms1024m -Xmx1024m" jmeter -t test.jmx [etc.]

转载于:https://www.cnblogs.com/happyliuyi/p/10755914.html

jmeter压测过程中内存溢出相关推荐

  1. jmeter压测过程及常见问题总结

    jmeter压测过程及常见问题总结 主要分享三部分内容,一是使用jmeter进行压力测试具体过程,二是遇到的问题及解决办法,三是jmeter服务器性能监测插件的使用. 一.jmeter压测过程 (1) ...

  2. MSComm控件过程中内存溢出和GetOneDimSize出错的问题

    MSComm控件过程中内存溢出和GetOneDimSize出错的问题 现在做的一个项目需要实现上位机和单片机的串口通信,为了方便,使用了MSComm控 件,但写程序时在处理接收数据遇到了问题,程序可以 ...

  3. jmeter压测前清理内存

    jmeter 压测时设置了内存为 sed -i 's/HEAP="-Xms512m -Xmx512m"/HEAP="-Xms36096m -Xmx360096m" ...

  4. 解决使用MSComm控件过程中内存溢出的问题

    现在做的一个项目需要实现上位机和单片机的串口通信,为了方便,使用了MSComm控件,但写程序时在处理接收数据遇到了问题,程序可以编译通过,但运行的过程中,程序只要接收到串口发来的数据,就会弹出内存溢出 ...

  5. java 多线程压测_java多线程Jmeter压测实现

    笔者最近在看jmeter源码,对多线程处理部分的了解记录如下. Part1 线程与多线程概念 提到线程先来看一下进程(线程的容器)的概念,进程是一个具有独立功能的程序关于某个数据集合的一次运行活动.它 ...

  6. jmeter压测结果分析

    jmeter结果查看主要在结果树和聚合报告,实际在做压测过程中不做可视化操作,用命令行执行,再查看测试报告. python在本地起服务 cmd打开命令框 执行语句:python -m http.ser ...

  7. JMeter压测笔记

    每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率.熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadRunner了.Jmeter 是一款使用Jav ...

  8. jmeter 压测duobbo接口,施压客户端自己把自己压死了

    jmeter 压测duobbo接口,jmeter代码不合理,导致每执行一次请求,会调用一次消耗内存的实例化.导致越压越慢,请求发不出去.这个时候需要考虑修改代码了. 截图中,tps越来越少. 原来初始 ...

  9. 手把手教你jmeter压测--适合入门

    [后台测试]手把手教你jmeter压测 我知道我迟早是要踏上了后台测试之路的,只是没想到来的这么突然.新接手了一个项目,在第一版发出后,产品需要做运营活动拉量,因为我担心突然的流量涌入是否会对后台造成 ...

最新文章

  1. Hyperledger Fabric 1.0 从零开始(五)——运行测试e2e
  2. codevs 1066 引水入城(DFS+DP)
  3. pythonselenium获取html标签内容_python selenium 如何获取网页页面所有可以点击的元素?...
  4. WordPress架构简单剖析
  5. C# 把list中的数据转成规定格式的json格式
  6. suse 安装php5.4_SUSE LINUX 安装Apache2 + PHP5 (普通安装,不是yum)
  7. Python模拟随机漫步
  8. Nokia n900使用
  9. python如何导入类里_Python导入模块中的所有类(98)
  10. java简历下载_java个人简历模板下载
  11. 谷歌访问英文网站翻译为中文
  12. 我们真的需要复杂的密码吗?
  13. 递归求平均数|理解|讲解| c语言
  14. C语言实现输出九九乘法表
  15. 年薪 10 万的程序员,如何积累人生的第一个 100 万?
  16. 计算机读光盘出现乱码,解决刻录音乐光盘mp3出现中文乱码的方法
  17. 测试测开面试要知道的那些事02
  18. 【火影之卡卡西动漫主题】
  19. 产业互联网的黑马,Testin云测的变革
  20. usb插入检测系统、支持实时日志记录、邮箱报警

热门文章

  1. 穿越时空,跟我一起探索云栖数字谷(2021云栖大会免费送票)
  2. MaxCompute Spark 资源使用优化详解
  3. 2020 阿里云原生实战峰会开幕 云原生落地的正确姿势
  4. 直播中那几秒延时到底来自哪?
  5. 内温的整体优先效应实验_陕西师范大学《普通心理学》第四章-知觉
  6. 寻路算法实例解析:贪吃蛇AI的实现
  7. 如何快速转化PSD为UI界面?
  8. oracle删除数据文件
  9. linux打开ftp功能的方法
  10. RMAN CONFIGURE解释