【问题标题】:Java Garbage Collection - New ThresholdJava 垃圾收集 - 新阈值
【发布时间】:2018-07-04 04:07:07
【问题描述】:

我假设年轻代中的对象必须经过 15 次次要 GC(最多 15 次)才能提升到老年代或老年代。

new threshold是什么意思,它对JVM年轻代GC或Minor GC有何影响?

这是否意味着年轻代不够大,无法让 JVM 对对象执行 15 次 GC?

在下面的例子中,新的阈值是 10。这是否意味着我必须增加堆大小,或者特别是在年轻代上?

Desired survivor size 121634816 bytes, new threshold 10 (max 15)
PSAdaptiveSizePolicy::compute_eden_space_size: costs minor_time: 0.004921 major_cost: 0.047628 mutator_cost: 0.947450 throughput_goal: 0.990000 live_space: 330899520 free_space: 1115684864 old_eden_size: 419430400 desired_eden_size: 436207616
AdaptiveSizePolicy::survivor space sizes: collection: 28 (125829120, 113246208) -> (125829120, 121634816) 
AdaptiveSizeStop: collection: 28 
[PSYoungGen: 421856K->10080K(532480K)] 785165K->373389K(1269760K), 0.0312765 secs] [Times: user=0.25 sys=0.00, real=0.03 secs] 
2018-07-04T02:09:01.886+0800: 359.263: [GC (Allocation Failure) AdaptiveSizePolicy::update_averages:  survived: 4587536  promoted: 0  overflow: false
AdaptiveSizeStart: 359.286 collection: 29 
  avg_survived_padded_avg: 111951304.000000  avg_promoted_padded_avg: 43516000.000000  avg_pretenured_padded_avg: 41.070663  tenuring_thresh: 11  target_size: 113246208

【问题讨论】:

  • 除非您遇到 GC 问题,否则您不应该追逐实现级别的统计信息,它应该是自我调整的

标签: java garbage-collection


【解决方案1】:

年轻代分为三个区域:一个伊甸园空间和两个幸存者空间。大多数对象(非常大的对象除外)使用简单(且快速)的指针碰撞方法在 Eden 空间中分配。当指针到达 Eden 空间的末尾时,需要进行一次次要 GC。与其直接将所有对象提升到老一代,不如让它们在幸存者空间中停留一段时间,让它们有更长的时间变成垃圾并减少老一代收集的负载。

有两个幸存者空间;一个是“从”空间(当前包含对象),一个是“到”空间(实际上是空的)。来自 Eden 的实时数据被复制到“to”空间以及任何仍处于活动状态且尚未达到“from”空间中的新阈值的对象。然后两个幸存者空间的角色被颠倒('to' 变成 'from','from' 变成 'to')为下一次 Minor GC 做好准备。

幸存者空间中达到新(通常称为tenuring)阈值的对象被提升到老年代。

显然,如果您的应用程序分配对象的速度快于幸存者空间可以处理的速度,那么 GC 将更快地提升对象。影响这一点的参数是 MaxTenuringThreshold,它是一个最大值,而不是一个确定的值。

您可以使用各种参数调整区域的大小。阅读本文了解更多详情:

https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/sizing.html

【讨论】:

    猜你喜欢
    • 2020-07-21
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    • 2015-12-21
    • 2016-03-26
    相关资源
    最近更新 更多