「 .Net メモリ管理のフードの下」という本を無料でダウンロードしました。章の 1 つで、著者は、GC がその特定の世代と他のすべての子世代を収集するように強制する、さまざまな世代のしきい値について言及しています。以下の正確なテキスト:
GC は、次のいずれかの条件の下で別のスレッドで自動的に実行されます。
いずれかの世代のオブジェクトのサイズが世代固有のしきい値に達したとき。正確には、次の場合です。
- Gen 0 ヒット ~256 K
- Gen 1 ヒット ~ 2 MB (この時点で、GC は Gen 1 と 0 を収集します)
- Gen 2 ヒット ~ 10 MB (この時点で、GC は Gen 2、1、および 0 を収集します)
.NET はアプリケーションの動作に応じてレベルを変更するため、上記のしきい値は単なる開始レベルであることに注意してください。
実行中の特定のアプリケーションのジェネレーション 2 などの現在のしきい値を把握する方法があるかどうかを知りたかったのです。