java垃圾收集执行&lt;(主要集合:标记和扫描&gt;每次它执行<minor collection:scavenge =“”> </minor>

时间:2013-08-20 18:06:53

标签: java garbage-collection

我有两个应用程序(JVM),每个都有相同的设置,每个都使用默认的垃圾收集器。

它们都分配了最小和最大16 gbs的内存。

一个应用程序以我期望的方式运行。当它进行次要收集(清除)时,它会将活动对象复制到幸存者空间。

其他应用程序不会将任何对象复制到幸存者空间。每次它进行次要收集(清除)时,它也会进行主要收集(标记和扫描)。

我能想到的唯一理由是,在未成年人收集(清除)期间,幸存者空间正在被填满。

有什么想法吗?或关于如何诊断行为的想法?

1 个答案:

答案 0 :(得分:0)

我会尝试删除您拥有的所有设置,以便您拥有绝对最小值,并且您不太可能在设置之间进行奇怪的交互

尝试

-Xmx16g -XX:+UseConcMarkSweepGC

并使用jstat

进行监控