Garbage collector adalah layanan runtime yang mengklaim kembali memori objek yang tidak lagi dirujuk. Section ini membedah cara kerja GC .NET: strategi generasi, mode kerja, konfigurasi melalui runtimeconfig, dan cara mendiagnosis aplikasi yang boros memori.
Pelajari cara kerja dasar garbage collector .NET: root, penandaan, pengklaiman, dan API GC yang dapat dipanggil dari kode.
Buka → # GC GenerationsDalami generasi 0, 1, dan 2: budget alokasi, frekuensi koleksi, dan promosi objek yang selamat.
Buka → # Workstation vs Server GCBandingkan mode workstation GC dan server GC, termasuk cara mengaktifkannya lewat csproj dan ciri pemeriksaannya di runtime.
Buka → # Background GCPelajari background GC yang menjalankan koleksi generasi 2 secara paralel dengan thread aplikasi agar jeda panjang berkurang.
Buka → # GC Latency ModesAtur kepekaan GC terhadap jeda melalui GCLatencyMode: Interactive, Batch, SustainedLowLatency, dan NoGCRegion.
Buka → # GC ConfigurationKonfigurasikan perilaku GC melalui csproj dan runtimeconfig.json, lalu ukur pengaruhnya dengan GC.GetTotalMemory.
Buka → # GC DiagnosticsKenali alat diagnosis GC .NET: dotnet-counters untuk metrik langsung, dotnet-gcdump untuk isi heap, dan alur membacanya.
Buka → # FinalizationBedah mekanisme finalization di runtime .NET: antrean finalizer, proses promosi ganda, dan pola Dispose yang benar dengan GC.SuppressFinalize.
Buka → # Weak ReferencesGunakan WeakReference generik untuk cache yang ringan dan ConditionalWeakTable untuk data tambahan yang mengikuti usia kuncinya.
Buka → # Menganalisis Tekanan MemoriIkuti alur praktis menganalisis tekanan memori: ukur alokasi per batch, hitung frekuensi GC, lalu perbaiki dan bandingkan hasilnya.
Buka →