性能测试分配堆内存

内存泄漏、内存溢出是什么?

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

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

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

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

以8G内存为例修改:

windows环境下,修改jmeter.bat:
set HEAP=-Xms512m -Xmx4000m
set NEW=-XX:NewSize=256m -XX:MaxNewSize=1024m
改为:
set HEAP=-Xms256m -Xmx8192m

## HEAP:表示堆内存总空间为8G

set NEW=-XX:NewSize=1330m -XX:MaxNewSize=3072m -XX:NewRatio=2 -XX:SurvivorRatio=8

## NewSize:表示新生代的内存空间

## NewRatio:表示新生代和老年代的比例。此处新生代:老年代=1:2

## SurvivorRatio:表示伊甸园和space的比例。此处伊甸园:space=8:2

set PERM=-XX:PermSize=1024m -XX:MaxPermSize=1024m

## PERM:表示持久代的内存空间,但是jdk1.8之后取消了持久代,改成了元空间
heap最多设置为物理内存的一半,默认设置为512M.如果heap超过物理内存的一半,可能运行jmeter会慢,甚至出现内存溢出,原因java比较吃内存如何查看本机JDK的位数?

CMD下执行 java -version

 

 

 

@网络转载,侵权联系删除

 
 

转载于:https://www.cnblogs.com/mumulog/p/11288165.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值