如何在sun / oracle jvm上强制使用gc,在旧版本中执行内存对齐/压缩

时间:2012-01-03 10:37:09

标签: garbage-collection jvm

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

有没有办法强迫这样的收藏?

谢谢

1 个答案:

答案 0 :(得分:0)

基本上,你应该用完你的记忆,然后打电话给gc

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

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