首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CMS GC 新生代默认是多大?

    你一定会觉得这还不简单吗,NewRatio 默认为 2,也就是 YoungGen 与 OldGen(老年代)的比例是 1:2,那 YoungGen 大小应该是 2048M/3 = 672M。...看提示 1,在 MaxNewSize 和 NewRatio 都是默认配置时,MaxNewSize 值为 preferredmaxnewsize,而 preferredmaxnewsize 是什么呢?...(younggenperworker * parallelgcthreads) 中较小的那个,max_heap/(NewRatio+1) 这个我们都了解,就是按照 NewRatio 来计算,ScaleForWordSize...所以绕了半天,ScaleForWordSize 的值大约是 64M * 4 * 13 / 10 = 332.8M,再做下对齐就得到 332.75M 了;max_heap / (NewRatio+1) 的值为...YoungGen 的大小在没有设置的情况下是通过计算得出的,其大小可能与 NewRatio 的默认配置没什么关系而与ParallelGCThreads 的配置有一定的关系。

    2.5K20

    YGC导致CPU负载过高的排查与解决

    1.8 中使用 CMS 收集器,UseAdaptiveSizePolicy 参数会被设置为 false,导致 young 区和 old 区大小不会动态调整 jdk 1.8 中使用 CMS 收集器,默认的 newRatio...为什么新生代是 332.8MB 在做出调整之前要找到 newRatio 没生效的原因,为什么 8G 的堆内存,新生代只有 332MB 登上服务器查看服务启动时的参数配置: java -server...Q:回到之前的问题,为什么 newRatio 参数默认为 2 没有生效 A:想起来 jdk 1.8 新生代默认的收集器并不是 CMS,是 ParallelGC。...于是继续 google 1.8 cms newRatio,找到了一篇 JVM bug 报告,在 1.8 中使用 CMS 收集器会导致默认的 newRatio 不生效,解决办法:在启动参数中显式配置一次,...:为什么动态调整没有生效 在 JDK1.7 中如果开启了 -XX:+UseAdaptiveSizePolicy 配置项,JVM 将会动态调整 Java 堆中各个区域的大小以及进入老年代的年龄,–XX:NewRatio

    4.3K30

    程序员如何优化 Java GC

    在设置内存空间大小时,你还需要设置一个参数:NewRatioNewRatio的值是新生代和老年代空间大小的比例。...如果NewRatio等于2,则新生代:老年代=1:2,因此,NewRatio的值设置得越大,则老年代空间越大,新生代空间越小。...=2 NewRatio=3 NewRatio=4 一天后我得到了系统的GC log,幸运的是,在设置完NewRatio后系统没有发生任何Full GC。...在这样的情况下,就没有必要去改变其他的参数值了,只要选择一个最合适的NewRatio值即可。那么,如何确定最佳的NewRatio值呢?...在每种参数下Minor GC的平均响应时间如下: NewRatio=2:45ms NewRatio=3:34ms NewRatio=4:30ms 我们可以根据GC时间的长短得出NewRatio=4是最佳的参数值

    1.1K30

    jvm系列(九):如何优化Java GC「译」

    在设置内存空间大小时,你还需要设置一个参数: NewRatioNewRatio的值是新生代和老年代空间大小的比例。...如果 NewRatio等于2,则新生代:老年代=1:2,因此, NewRatio的值设置得越大,则老年代空间越大,新生代空间越小。...=2 NewRatio=3 NewRatio=4 一天后我得到了系统的GC log,幸运的是,在设置完NewRatio后系统没有发生任何Full GC。...在这样的情况下,就没有必要去改变其他的参数值了,只要选择一个最合适的 NewRatio值即可。那么,如何确定最佳的NewRatio值呢?...在每种参数下Minor GC的平均响应时间如下: NewRatio=2:45ms NewRatio=3:34ms NewRatio=4:30ms 我们可以根据GC时间的长短得出NewRatio=4是最佳的参数值

    1.5K120
    领券