0
点赞
收藏
分享

微信扫一扫

JVM——Parallel

sin信仰 2022-10-26 阅读 197

JDK8默认gc

优点:吞吐率高

缺点:停顿时长不可控

JVM——Parallel_jvm

参数

-XX:SurvivorRatio 默认8:1:1

-XX:+AdaptiveSizePolicy : 每次 GC 后会重新计算 Eden、From 和 To 区的大小,计算依据是 GC 过程中统计的 GC 时间、吞吐量、内存占用量 

JDK 1.8 默认使用 UseParallelGC 垃圾回收器,该垃圾回收器默认启动了 AdaptiveSizePolicy,会根据GC的情况自动计算计算 Eden、From 和 To 区的大小; 在 JDK 1.8 中,如果使用 CMS,无论 UseAdaptiveSizePolicy 如何设置,都会将 UseAdaptiveSizePolicy 设置为 false;不过不同版本的JDK存在差异; 不要和SurvivorRatio参数显示设置搭配使用,一起使用会导致参数失效; 对于面向外部的大流量、低延迟系统,不建议启用此参数,建议关闭该参数

-XX:PreTenureSizeThreshold 大对象值,默认值是0,意思是不管多大都是先在eden中分配内存

-XX:MaxTenuringThreshod 升级到老年代的年龄,cms最大6,其他最大15(java对象头4bit)

-XX:+ParallelGCThreads 并行收集器线程数,适用于CMS,一般设为cpu核数。GC并行时使用的线程数,如果新生代使用ParNew,那么ParallelGCThreads也就是新生代GC线程数。默认情况下,当CPU数量小于8时,ParallelGCThreads的值就是CPU的数量,当CPU数量大于8时,ParallelGCThreads的值等于3+5*cpuCount/8。ParallelGCThreads = (ncpus <= 8) ? ncpus : 3 + ((ncpus * 5) / 8)。可以通过-XX:ConcGCThreads或者-XX:ParallelCMSThreads来指定

-XX:+UseAdaptiveSizePolicy 自动选择各区大小比例

举报

相关推荐

0 条评论