CMSIncrementalMode を除いて、同じ GC 構成を持つ 2 つのアプリ ノードがあります。以下は、CMSIncrementalMode を使用する場合と使用しない場合の両方のアプリの GC ビューアーのスクリーン ショットです。
CMSIncrementalMode を使用していないアプリのスループットは大幅に低下し、「CMS: 時間が経過したためプレクリーンを中止します」というメッセージが表示されてプレクリーンが中止されました。また、古い世代に空きスペースがたくさんある場合でも、オブジェクトは古い世代に昇格されませんでした。
漸進的なより小さな並行ステップにより、事前クリーニングの中止が停止した可能性があることを理解しています。しかし、私は次のことを理解しようとしています。
事前クリーンアップを中止すると、アプリにこれほど大きな悪影響が及ぶのはなぜですか? それとも、悪影響を引き起こしている何か他のものですか?
CMSIncrementalMode は、若い世代のマイナー GC にどのように役立ちましたか。インクリメンタル モードは古い世代のコレクションだけにあるのではないですか?
ParNew カウントが initial-mark および remark と異なるのはなぜですか。CMSIncrementalMode がないと、より多くのマークとコメントが表示されます。CMSIncrementalMode を使用すると、より多くの ParNews が表示されます。
GC 構成:
Total Heap: 3GB
New: 1800MB
UseConcMarkSweepGC
CMSClassUnloadingEnabled
GC ビューアー統計:
CMSIncrementalMode を使用する
アプリ CMSIncrementalMode を使用しないアプリ
前もって感謝します