1

CMSIncrementalMode を除いて、同じ GC 構成を持つ 2 つのアプリ ノードがあります。以下は、CMSIncrementalMode を使用する場合と使用しない場合の両方のアプリの GC ビューアーのスクリーン ショットです。

CMSIncrementalMode を使用していないアプリのスループットは大幅に低下し、「CMS: 時間が経過したためプレクリーンを中止します」というメッセージが表示されてプレクリーンが中止されました。また、古い世代に空きスペースがたくさんある場合でも、オブジェクトは古い世代に昇格されませんでした。

漸進的なより小さな並行ステップにより、事前クリーニングの中止が停止した可能性があることを理解しています。しかし、私は次のことを理解しようとしています。

  1. 事前クリーンアップを中止すると、アプリにこれほど大きな悪影響が及ぶのはなぜですか? それとも、悪影響を引き起こしている何か他のものですか?

  2. CMSIncrementalMode は、若い世代のマイナー GC にどのように役立ちましたか。インクリメンタル モードは古い世代のコレクションだけにあるのではないですか?

  3. ParNew カウントが initial-mark および remark と異なるのはなぜですか。CMSIncrementalMode がないと、より多くのマークとコメントが表示されます。CMSIncrementalMode を使用すると、より多くの ParNews が表示されます。

GC 構成:

Total Heap: 3GB 
New: 1800MB 
UseConcMarkSweepGC 
CMSClassUnloadingEnabled 

GC ビューアー統計:
CMSIncrementalMode を使用する
アプリ CMSIncrementalMode を使用しないアプリ

前もって感謝します

4

0 に答える 0