美文网首页
jvm GC调优项总结

jvm GC调优项总结

作者: 走在人生的路上z | 来源:发表于2018-01-12 11:34 被阅读0次

    作者最新博客地址:http://www.17mark.com

    此简书不再维护。

    此文章只限稍微了解JVM 内存GC机制的书友。

    Eden 容量设置:
    
    Eden GC触发值设置:
    
    -XX:+SuivivorRatio:   Eden 区大小和 survivor 区大小的比例
    
    -XX:+PretenureSizeThreshold:设置大对象直接进入老年代的阈值。当对象的大小超过这个值时,将直接在老年代分配。
    
    -XX:MaxTenuringThreshold:设置对象进入老年代的年龄的最大值。每一次 Minor GC 后,对象年龄就加 1。任何大于这个年龄的对象,一定会进入老年代。 
    
    -XX:+UseParNewGC: 在新生代使用并行收集器。 
    
    -XX:+UseParallelOldGC: 老年代使用并行回收收集器。
     
    -XX:ParallelGCThreads:设置用于垃圾回收的线程数。通常情况下可以和 CPU 数量相等。但在 CPU 数量比较多的情况下,设置相对较小的数值也是合理的。 
    
    -XX:MaxGCPauseMills:设置最大垃圾收集停顿时间。它的值是一个大于 0 的整数。
     
    -XX:GCTimeRatio:设置吞吐量大小,它的值是一个 0-100 之间的整数。假设 GCTimeRatio 的值为 n,那么系统将花费不超过 MaxGCPauseMills/(1+n) 的时间用于垃圾收集。 与MaxGCPauseMills相关。
    
    -XX:+UseAdaptiveSizePolicy:打开自适应 GC 策略。在这种模式下,新生代的大小,eden 和 survivor 的比例、晋升老年代的对象年龄等参数会被自动调整,以达到在堆大小、吞吐量和停顿时间之间的平衡点。
    
    -XX:+ParallelCMSThreads: 设定 CMS 的线程数量。 
    
    -XX:+CMSInitiatingOccupancyFraction:设置 CMS 收集器在老年代空间被使用多少后触发,默认为 68%。
     
    -XX:+UseFullGCsBeforeCompaction:设定进行多少次 CMS 垃圾回收后,进行一次内存压缩。
     
    -XX:+CMSClassUnloadingEnabled: 允许对类元数据进行回收。
     
    -XX:+CMSParallelRemarkEndable:启用并行重标记。 
    
    -XX:CMSInitatingPermOccupancyFraction:当永久区占用率达到这一百分比后,启动 CMS 回收 (前提是-XX:+CMSClassUnloadingEnabled 激活了)。 
    
    -XX:UseCMSInitatingOccupancyOnly:表示只在到达阈值的时候,才进行 CMS 回收。 
    
    -XX:+CMSIncrementalMode:使用增量模式,比较适合单 CPU。
    
    

    常用参数如下:


    image

    积极迎接各种挑战,才会使自己更加强大。
    此文章参考自:http://blog.csdn.net/antony9118/article/details/51375662

    欢迎一起交流,学习。


    相关文章

      网友评论

          本文标题:jvm GC调优项总结

          本文链接:https://www.haomeiwen.com/subject/zcwxoxtx.html