java 虚拟机参数总结

虚拟机参数总结

      跨代引用问题:

           新生代中对象对老年代的对象有引用,垃圾回收时,不会回收,多次标记后,新生代(minor)进入老年代,老年代对象增多,可发生Major GC。

     权衡老年代垃圾回收的解决方案-----记忆集,原因: 通过扫描记忆集标记GC roots 相对于扫描整个老年代性能更高。

     卡表与记忆集, 记忆集是一种抽象的数据结构,卡表是记忆集的具体实现。

     卡表中每一个元素对应的一块区域,称为卡页。

     -XX:+UseCondCardMark  用来决定是否开启卡表更新的条件判断。(可以避免卡表记录时的伪共享问题)会增加一次条件判断,性能上有所损耗。

    -XX:+UseConcMarkSweepGC  开启cms 垃圾回收(配置使用用于老年代,算法:标记整理算法 ;新生代: ParNew 或者serial)

    -XX:+UseParNewGC 开启parnew 垃圾回收器。

    针对Parallel Scavenge 收集器

    -XX:+MaxGCPauseMillis (大于0 的数)

   -XX:+GCTimeRatio (0-100) 的数控制垃圾收集所占的运行时间比例。

   -XX:+UseAdaptiveSizePolicy 开关参数,自适应设置Eden和Survivor的比例,只需要设置-Xmx 最大堆数值和-XX:+MaxGCPauseMillis 

   -----Parallel Scavenge 

  -- SerialOld

  -XX:PretenureSizeThreshold=3145728 (表示3m) 如果设置,新生的对象只要超过3M就会直接进入老年的。参数原因:避免新生区eden 和suvivor区进行复制对象。】‘

   --针对CMS垃圾回收器

   --XX:CMSInitiatingOccupancyFraction 设置触发一次 Full GC ,主要浮动碎片(并发标记时导致浮动碎片)

    -XX:G1HeapRegionSize 设置region的大小1M-32M ,2的幂。超过region的放到Humongous区域中。

    -XX:MaxTenuringThreshold=1 设置进入老年代的age计数器。

 

   

    

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值