繁体   English   中英

Java垃圾回收每次执行一个&lt;(主要回收:标记和清除&gt; <minor collection:scavenge>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM