.NET のガベージ コレクターは、アプリケーションのメモリの割り当てと解放を管理します。 新しいオブジェクトを作成するたびに、共通言語ランタイムはマネージド ヒープからオブジェクトのメモリを割り当てます。 マネージド ヒープでアドレス空間を使用できる限り、ランタイムは新しいオブジェクトの領域を引き続き割り当てます。 ただし、メモリは無限ではありません。 最終的には、ガベージ コレクターは、メモリを解放するためにコレクションを実行する必要があります。 ガベージ コレクターの最適化エンジンは、行われる割り当てに基づいて、コレクションを実行する最適な時間を決定します。 ガベージ コレクターは、コレクションを実行するときに、アプリケーションによって使用されなくなったマネージド ヒープ内のオブジェクトをチェックし、メモリを再利用するために必要な操作を実行します。
このセクションでは...
タイトル | 説明 |
---|---|
ガベージコレクションの基礎 | ガベージ コレクションのしくみ、マネージド ヒープでのオブジェクトの割り当て方法、およびその他の主要な概念について説明します。 |
ワークステーションとサーバーのガベージ コレクション | クライアント アプリのワークステーション ガベージ コレクションとサーバー アプリのサーバー ガベージ コレクションの違いについて説明します。 |
バックグラウンド ガベージ コレクション | ジェネレーション 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
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET