JVM调优配置及参数说明

    CMD java
    //1 非标准参数配置
    -Xms1024m 
    //指定jvm堆的初始大小,默认为物理内存的1/64,最小为1M;可以指定单位,比如k、m,若不指定,则默认为字节。 
    -Xmx1024m 
    //指定jvm堆的最大值,默认为物理内存的1/4或者1G,最小为2M;单位与-Xms一致。
    -Xmn480m
    //JVM中年轻态的大小 年轻态比老年态为1/1  持久态最好为64M  老年态为480 FULLCG次数会较少 但是每次FULLCG时间会较长
    -Xss256K  
    //单个线程栈的大小 一般默认512k
    
    //2 非stable参数
    -XX:PermSize=64M                    
    //持久态的大小 JDK8是另一个参数设置持久态
    -XX:MaxPermSize=64M 
    //设置持久代最大值为100m,默认为xms的1/8。MaxPermSize过小会导致:java.lang.OutOfMemoryError: PermGen space
    //32位Linux和64位Linux好像不一样,64位系统似乎只要配置MaxTenuringThreshold参数。
    #-XX:MaxTenuringThreshold=20 
    //MaxTenuringThreshold=0就是去掉了救助空间 MaxTenuringThreshold去掉,这样即没有暂停又不会有promotoin failed,而且更重要的是,年老代和永久代上升非常慢(因为好多对象到不了年老代就被回收了),所以CMS执行频率非常低,好几个小时才执行一次
    -XX:SurvivorRatio=4             
    //Eden区与Survivor区的大小比值4/1
    
    /**适用情况:“对响应时间有高要求”,多CPU、对应用响应时间有较高要求的中、大型应用。举例:Web服务器/应用服务器、电信交换、集成开发环境。
    响应时间优先的应用:年轻代大小选择 
    尽可能设大,直到接近系统的最低响应时间限制(根据实际情况选择)。在此种情况下,年轻代收集发生的频率也是最小的。同时,减少到达年老代的对象。 
    响应时间优先的应用:年老代大小选择 
    年老代使用并发收集器,所以其大小需要小心设置,一般要考虑并发会话率和会话持续时间等一些参数。如果堆设置小了,可以会造成内存碎片、高回收频率以及应用暂停而使用传统的标记清除方式;如果堆大了,则需要较长的收集时间。最优化的方案,一般需要参考以下数据获得: 
    **/
    
    -XX:+UseConcMarkSweepGC               
    //对老生代采用并发标记交换算法进行GC
    -XX:+CMSParallelRemarkEnabled        
    // 降低标记停顿
    -XX:CMSFullGCsBeforeCompaction=0      
    //由于并发收集器不对内存空间进行压缩、整理,所以运行一段时间以后会产生“碎片”,使得运行效率降低。此参数设置运行n次FullGC以后对内存空间进行压缩、整理。
    -XX:CMSInitiatingOccupancyFraction=70 
    //表示年老代空间到70%时就开始执行CMS,确保年老代有足够的空间接纳来自年轻代的对象。 满足(Xmx-Xmn)*(100-CMSInitiatingOccupancyFraction)/100>=Xmn就不会出现promotion 内存太低不适应
    -XX:+UseCMSCompactAtFullCollection    
    //使用并发收集器时,开启对年老代的压缩,failed
    -XX:+DisableExplicitGC                
    //禁止System.gc(),免得程序员误调用gc方法影响性能; 
    -XX:+UseParNewGC                      
    //对年轻代采用多线程并行回收,这样收得快;
    
    //3 日志打印信息
    -XX:+HeapDumpOnOutOfMemoryError  
    -XX:HeapDumpPath=/usr/aaa/dump 
    -Xloggc:/usr/local/mylog/heap_trace.txt 
    -XX:+PrintGCTimeStamps 
    -XX:+PrintGC 
    -XX:+PrintHeapAtGC
    -XX:+PrintGCDetails
    -Duser.timezone=Asia/Shanghai
    -jar yourjarName.jar
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值