Garbage Collection

The .NET Framework's garbage collector manages the allocation and release of memory for your application. Each time you create an object, the runtime allocates memory for the object from the managed heap. As long as address space is available in the managed heap, the runtime continues to allocate space for new objects. However, memory is not infinite. Eventually the garbage collector must perform a collection in order to free some memory. The garbage collector's optimizing engine determines the best time to perform a collection, based upon the allocations being made. When the garbage collector performs a collection, it checks for objects in the managed heap that are no longer being used by the application and performs the necessary operations to reclaim their memory.

In This Section

  • Induced Collections
    Describes how to reclaim objects immediately or at the next optimal time.

  • Latency Modes
    Describes the modes that determine the intrusiveness of garbage collection.

  • Optimization for Shared Web Hosting
    Describes how to optimize garbage collection on servers shared by hosting several small Web sites.

  • Garbage Collection Notifications
    Describes how to determine when a full garbage collection is approaching and when it has completed.

  • Weak References
    Describes features that permit the garbage collector to collect an object while still allowing the application to access that object.

Reference

System.GC

System.GCCollectionMode

System.GCNotificationStatus

System.Runtime.GCLatencyMode

System.Runtime.GCSettings

Object.Finalize

System.IDisposable

See Also

Other Resources

Cleaning Up Unmanaged Resources