jmeter压测时内存问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter压测时内存问题相关的知识,希望对你有一定的参考价值。
参考技术A 记录1:监控,记录取样器信息等都会导致内存溢出,一般在压测时都选择:仅记录错误日志;记录2:(当然压测时必须在非界面下,并调整内存)使用jmeter进行压测时遇到,一段时间后报内存溢出out of menmory导致jmeter卡死。
解决:
windows下,修改 jmeter.bat文件:
set HEAP=-Xms256m -Xmx256m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
set NEW:指的是每个线程占用的内存,假如一台机要产生1000个线程,一个请求请求的数据为200K,那么这里就要设置“1000*200/1024=195.32”,内存要设置128的倍数,那么这里就要设置“256m”。
set HEAP:指的是累积线程占用的内存,建议是new的4倍。
set PERM=-XX:PermSize=64m -XX:MaxPermSize=128m :默认是64m,如果遇到,jmeter控制器没停掉,聚合报告数据也不动了,可以修改一下这里为:1024m--1024m。
10_jmeter压测时jmeter报错socket closed
参考技术A 问题原因:在 JMeter 下,发送 http 请求时,一般都是默认选择了 use keepAlive (这个是什么?看后面资料),这个是连接协议, JMeter 坑就在这里,默认勾选了这个(如果不勾选的话,也不会保存),但其配置 JMeter.properties 中的时间设置默认却是注销的,也是是说,不会等待,一旦连接空闲,则立马断开了,导致我们压测中出现了事务失败的情形!结果方法:
问题原因:
Windows XP提供给 TCP/IP链接的端口为 1024-5000,并且要四分钟来循环回收他们。就导致我们在短时间内跑大量的请求时将端口占满了。
解决方法:
1.cmd中,用regedit命令打开注册表
2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters下,
1)右击parameters,添加一个新的DWORD,名字为MaxUserPort
2)然后双击MaxUserPort,输入数值数据为65534,基数选择十进制
3.一定要记得重启电脑
以上是关于jmeter压测时内存问题的主要内容,如果未能解决你的问题,请参考以下文章