zoukankan      html  css  js  c++  java
  • Jmeter(四十三)_性能测试分配堆内存

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

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

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

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

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

  • 相关阅读:
    Jquery源码分析(一)
    Lazyload 延迟加载效果
    20100128
    Linux共享库(so)动态加载和升级
    shell 数组
    Git常用命令解说
    linux shell 数组建立及使用技巧
    linux下查看用户及用户组的方法
    Zypper 用法
    linux shell 数组的长度计算、修改、循环输出等操作
  • 原文地址:https://www.cnblogs.com/Zfc-Cjk/p/10805538.html
Copyright © 2011-2022 走看看