G1 の一時停止時間は短いがスループットが低い理由 (スループットが低いということは、GC が実行される合計時間 (秒) が長くなることを意味します)
メモリが小さな部分に分割されているため、私の理解では、完全なヒープよりも小さな部分でフルを実行する必要があります。実際、完全なヒープで実行されていないため、現在完全な GC はないと言えますが、代わりに複数のバックグラウンド スレッドが同時に実行されており、最大数のデッド オブジェクトを含むメモリ ブロックを最初にクリアしています。そのため、休憩時間は短いです。
大きなメモリが小さなブロックに分割されているため、スループットが低くなります。これは、複数の GC スレッドを単一のブロックではなく小さなブロックで実行する必要があるためです。そのため、ほとんどの場合、多少忙しいでしょう。
あれは正しいですか ?
また、G1 が 4GB より大きいヒープに適しているのはなぜですか? より小さなブロッカーに分割され、一時停止時間が遅くなるため、すべてのヒープ サイズでより適切に機能するはずです。では、なぜ G1 が 4 GB より大きいヒープに推奨されるのでしょうか?