2012-01-03 44 views
0

我有一个巨大的堆(大约100GB)的应用程序,并且在初始化过程中它将几乎所有的可用内存分配给不同的缓存。问题在于,这个初始化阶段分配了大量的对象,导致旧的令人痛苦的去碎片化。所以我的想法是强制完整的gc作为初始化阶段的最后一步,以便对齐/压缩旧的代码并降低运行时“并发模式故障”的概率。如何在sun/oracle jvm上强制执行完整的gc,在旧版本中执行内存对齐/压缩

有什么办法强制这样一个集合?

感谢

+0

'System.gc()'? – fge 2012-01-03 10:38:49

+0

那么根据javadoc它不能保证gc会触发。 – Tomek 2012-01-03 15:59:46

+0

我不认为有什么保证,但也许我错了 – fge 2012-01-03 16:04:13

回答