GC..::.AddMemoryPressure Method Home
This page is specific to:.NET Framework Version:2.03.03.54.0
.NET Framework Class Library
GC..::.AddMemoryPressure Method

Informs the runtime of a large allocation of unmanaged memory that should be taken into account when scheduling garbage collection.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
Syntax

'Usage

Dim bytesAllocated As Long

GC.AddMemoryPressure(bytesAllocated)

'Declaration

<SecurityPermissionAttribute(SecurityAction.LinkDemand, UnmanagedCode := True)> _
Public Shared Sub AddMemoryPressure ( _
    bytesAllocated As Long _
)

Parameters

bytesAllocated
Type: System..::.Int64
The incremental amount of unmanaged memory that has been allocated.
Exceptions

ExceptionCondition
ArgumentOutOfRangeException

bytesAllocated is less than or equal to 0.

-or-

On a 32-bit computer, bytesAllocated is larger than Int32..::.MaxValue.

Remarks

In determining when to schedule garbage collection, the runtime takes into account how much managed memory is allocated. If a small managed object allocates a large amount of unmanaged memory, the runtime takes into account only the managed memory, and thus underestimates the urgency of scheduling garbage collection. The AddMemoryPressure method informs the runtime of this additional pressure on system memory.

In the simplest usage pattern, a managed object allocates unmanaged memory in the constructor and releases it in the Dispose or Finalize method. Call the AddMemoryPressure method after allocating the unmanaged memory, and call the RemoveMemoryPressure method after releasing it.

In more complicated scenarios, where the unmanaged memory allocation changes substantially during the lifetime of the managed object, you can call the AddMemoryPressure and RemoveMemoryPressure methods to communicate these incremental changes to the runtime.

Caution noteCaution:

You must ensure that you remove exactly the amount of pressure you add. Failing to do so can adversely affect the performance of the system in applications that run for long periods of time.

.NET Framework Security

Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0
See Also

Reference

© 2009 Microsoft Corporation. All rights reserved.   Terms of Use | Trademarks | Privacy Statement
Page view tracker
Rate the Lightweight library
x
Lightweight builds on ScriptFree (loband) by adding features you've requested: a SearchBox and default code language selection.
Do you like the SearchBox?
Do you like the tabbed code blocks?
How useful is this topic?
Tell us more.
Thanks
x
You're helping to improve MSDN Online.
Feedback
Switch View
Classic
Lightweight Beta
ScriptFree
Switch View