【问题标题】:"abort preclean due to time" in Concurrent Mark & SweepConcurrent Mark & Sweep 中的“由于时间原因中止预清理”
【发布时间】:2009-12-02 17:27:28
【问题描述】:

在 Java 6 中运行 Concurrent Mark & Sweep 时出现“由于时间原因中止预清理”。 这是什么意思? GC 真的在做任何实际工作之前就停止了吗?

【问题讨论】:

    标签: java garbage-collection mark-and-sweep


    【解决方案1】:

    查看Masamitsu's blog 中的 MaxAbortablePrecleanTime 部分。这将使您更好地了解 preclean 阶段正在做什么。比我愿意输入的要好;)

    【讨论】:

    • 感谢您的链接,这是一本好书。我仍然未能完全解析它。这发生在预清洁中,所以它不是在停止世界阶段,对吗?如果我们看到此消息,是否有问题?我应该增加 CMSMaxAbortablePrecleanTime 吗?
    • 这不是一个真正的问题,中止发生在第二个预清理阶段,并且实际上被设计为如果花费太长时间就中止。根据我的理解,这是因为它不像下一个阶段那样平行,所以如果有很多工作要做,那么停留在那个阶段是没有意义的(尽管我在这里可能是错的,文档在这方面有点薄)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 2010-12-24
    相关资源
    最近更新 更多