【问题标题】:How to force full gc on sun/oracle jvm, to perform memory alignment/compaction in old gen如何在 sun/oracle jvm 上强制执行完整 gc,以在旧 gen 中执行内存对齐/压缩
【发布时间】:2012-01-03 10:37:08
【问题描述】:

我有一个应用程序,它有一个巨大的堆(大约 100GB),并且在初始化期间它分配了几乎所有具有不同缓存的可用内存。问题是这个初始化阶段分配了大量的对象,导致老一代痛苦的碎片整理。所以我的想法是强制完整 gc 作为初始化阶段的最后一步,以对齐/压缩旧 gen 并减少运行时“并发模式失败”的概率。

有没有办法强制这样的收集?

谢谢

【问题讨论】:

  • 好吧,根据 javadoc,它不保证 gc 会触发。
  • 我认为没有什么可以保证这一点,但也许我错了

标签: garbage-collection jvm


【解决方案1】:

基本上,你应该耗尽你的内存,然后调用gc 应该可以工作。

这样考虑http://www.informit.com/articles/article.aspx?p=19703

你也可以试试这个https://stackoverflow.com/a/6915221/1137529,但我不确定它是否真的能正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多