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

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

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

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

在利用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

最新文章

  1. AsyncTask 异步处理
  2. Python 无限循环
  3. 开发板ping不通主机和虚拟机的看过来(转载)!
  4. 配置perl-cgi的运行环境,由于Active Perl安装在d:\perl
  5. android 内存泄露之jni local reference table overflow (max=512)
  6. php header 函数详解
  7. DbHelperSQL 判断数据库表结构公用方法
  8. 【Access2007】将Excel表导入到Access2007在现有的表成
  9. Shell命令-文件及目录操作之touch、tree
  10. Breakout 打砖块
  11. C#导入c++ dll报找不到dll文件 masm32调用c++类库
  12. python用%来处理字符串
  13. php 加密 解密 密码传输
  14. topcoder srm 500 div1
  15. hive 安装centos7
  16. 026.7 网络编程 URL对象
  17. Maven学习之(一)基本配置
  18. ZT自老罗的博客 Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析
  19. 《Python高性能编程》——列表、元组、集合、字典特性及创建过程
  20. python中取整的几种方法

热门文章

  1. cs/bs架构的区别
  2. mouseover和mouseenter两个事件的区别
  3. CSS-图片整合笔记
  4. Android 下拉列表Spinner 使用
  5. js 数组 深拷贝 复制 (汇总)
  6. MySQL修炼之路五
  7. A quick introduction to Source Insight for seamless development platform between Linux and Windows
  8. linux设备驱动程序-i2c(1):i2c总线的添加与实现
  9. linux查看redis安装目录
  10. 使用 Word 写作论文时设置格式技巧记录