ガベージ コレクション
.NET のガベージ コレクターは、アプリケーションのメモリの割り当てと解放を管理します。 新しいオブジェクトを生成するたびに、共通言語ランタイムは、マネージド ヒープからオブジェクトにメモリを割り当てます。 マネージド ヒープに使用可能なアドレス空間がある限り、ランタイムは新しいオブジェクト用に領域の割り当てを続けます。 しかし、メモリの大きさは無限ではありません。 最終的には、ガベージ コレクターが、一部のメモリを解放するためにガベージ コレクションを実行する必要があります。 コレクションの実行に最適な時期は、ガベージ コレクターの最適化エンジンが、割り当てられるオブジェクトの状況に応じて決定します。 コレクションを実行する場合、ガベージ コレクターは、アプリケーションによって使用されなくなったオブジェクトがマネージド ヒープにあるかどうかをチェックし、使われていないオブジェクトのメモリを再利用するために必要な操作を実行します。
このセクションの内容
Title | 説明 |
---|---|
ガベージ コレクションの基礎 | ガベージ コレクションの動作、マネージド ヒープに対するオブジェクトの割り当て方法、およびその他の主要な概念について説明します。 |
ワークステーションとサーバーのガベージ コレクション | ワークステーションのクライアント アプリ用ガベージ コレクションと、サーバーのサーバー アプリ用ガベージ コレクションの違いについて説明します。 |
バックグラウンド ガベージ コレクション | バックグラウンド ガベージ コレクションについて説明します。これは、第 2 世代のコレクションを処理中の、第 0 世代と第 1 世代のオブジェクトのコレクションです。 |
大きなオブジェクト ヒープ | 大きなオブジェクト ヒープ (LOH) について、および大きなオブジェクトをガベージ コレクションする方法について説明します。 |
ガベージ コレクションとパフォーマンス | ガベージ コレクションとパフォーマンスの問題を診断するために使用できるパフォーマンス チェックについて説明します。 |
発生したコレクション | ガベージ コレクションがどのように行われるかについて説明します。 |
待機モード | ガベージ コレクションの割り込みの動作を決定するモードについて説明します。 |
共有 Web ホストの最適化 | 複数の小規模な Web サイトで共有されているサーバーで、ガベージ コレクションを最適化する方法について説明します。 |
ガベージ コレクションの通知 | フル ガベージ コレクションが近づいたときと完了したときを検出する方法について説明します。 |
アプリケーション ドメインのリソース監視 | アプリケーション ドメインによる CPU とメモリの使用状況を監視する方法について説明します。 |
弱い参照 | アプリケーションからオブジェクトへのアクセスを許容したまま、そのオブジェクトをガベージ コレクターが収集できるようにする機能について説明します。 |
関連項目
- System.GC
- System.GCCollectionMode
- System.GCNotificationStatus
- System.Runtime.GCLatencyMode
- System.Runtime.GCSettings
- GCSettings.LargeObjectHeapCompactionMode
- Object.Finalize
- System.IDisposable