[英]java garbage collection does a <(major collection:mark and sweep> every time it does a <minor collection:scavenge>
我有两个应用程序(JVM),每个应用程序具有相同的设置,并且每个应用程序都使用默认的垃圾收集器。
它们都分配了最小和最大16 gbs的内存。
一个应用程序按我期望的方式运行。 当它进行次要收集(清理)时,会将活动对象复制到幸存者空间。
另一个应用程序不会将任何对象复制到幸存者空间。 每次它进行次要收集(清理)时,也会进行一次主要收集(标记和清除)。
我能想到的唯一原因是,在次要收藏(清理)期间,幸存者空间已被填满。
有任何想法吗? 或有关如何诊断行为的想法?
我会尝试删除您拥有的所有设置,以使您拥有绝对最小值,并且不太可能在设置之间产生奇怪的交互作用
尝试一下
-Xmx16g -XX:+UseConcMarkSweepGC
并使用jstat
对其进行监视
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.