The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Process.MaxWorkingSet Property

Gets or sets the maximum allowable working set size for the associated process.

Namespace:  System.Diagnostics
Assembly:  System (in System.dll)

public IntPtr MaxWorkingSet { get; set; }

Property Value

Type: System.IntPtr
The maximum working set size that is allowed in memory for the process, in bytes.


The maximum working set size is invalid. It must be greater than or equal to the minimum working set size.


Working set information cannot be retrieved from the associated process resource.


The process identifier or process handle is zero because the process has not been started.


You are trying to access the MaxWorkingSet property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer.


The process Id is not available.


The process has exited.


The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.

The working set of a process is the set of memory pages currently visible to the process in physical RAM memory. These pages are resident and available for an application to use without triggering a page fault.

The working set includes both shared and private data. The shared data includes the pages that contain all the instructions that your application executes, including the pages in your .dll files and the system.dll files. As the working set size increases, memory demand increases.

A process has minimum and maximum working set sizes. Each time a process resource is created, the system reserves an amount of memory equal to the minimum working set size for the process. The virtual memory manager attempts to keep at least the minimum amount of memory resident when the process is active, but it never keeps more than the maximum size.

The system sets the default working set sizes. You can modify these sizes using the MaxWorkingSet and MinWorkingSet members. However, setting these values does not guarantee that the memory will be reserved or resident.


When you increase the working set size of a process, you take physical memory away from the rest of the system. Ensure that you do not request a minimum or maximum working set size that is too large, because doing so can degrade system performance.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

  • LinkDemand 

    for full trust for the immediate caller. This member cannot be used by partially trusted code.

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.