我观察到,当没有最近的 ParNew 时,如果 CMS-Initial-Mark 阶段开始,CMS-Initial-Mark 阶段需要更长的时间来标记老年代中的对象。
好的部分是我发现 ParNew 的大部分时间(可能是偶然的或 JVM 在内部执行此操作)发生在 CMS-Initial-Mark 阶段之前,然后在老年代标记相同数量的对象,CMS 花费的时间更少。
想知道这个观察背后的原因。
注意:考虑到 CMS-Initial-Mark 阶段是 stop-the-world,应尽最大努力减少其持续时间。