Memory Management Registry Keys
System virtual address (VA) space on 32-bit systems can become exhausted due to fragmentation. Several registry keys can be used to configure memory limits on 32-bit systems that experience this issue. System VA space on 64-bit systems is not subject to exhaustion by fragmentation; therefore, these keys have no effect on 64-bit systems.
For 32-bit systems, these memory management registry keys must be explicitly created under the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\Current Control Set\Control\Session Manager\Memory Management
Windows Server 2008 and Windows Vista: These registry keys are available on 32-bit systems starting with Windows Server 2008 and Windows Vista with Service Pack 1 (SP1).
For default memory and address space limits on both 32-bit and 64-bit systems, see Memory Limits for Windows Releases.
The following table describes the memory management registry keys that can be used to configure memory limits on 32-bit systems. All of these keys have a REG_DWORD type and possible values that range from 0 through 2,048 MB. The default is 0, which means no limit is enforced. Values are automatically rounded up to the next system VA allocation boundary, which is 2 MB on 32-bit systems that have Physical Address Extension (PAE) enabled and 4 MB on 32-bit systems that do not have PAE enabled.
Key | Description |
---|---|
NonPagedPoolLimit | Specifies the maximum amount of system VA space that can be used by the nonpaged pool. Under certain conditions, this limit may be exceeded by a small amount. |
PagedPoolLimit | Specifies the maximum amount of system VA space that can be used by the paged pool. |
SessionSpaceLimit | Specifies the maximum amount of system VA space that can be used by session space allocations. |
SystemCacheLimit | Specifies the maximum amount of system VA space that can be used by the system cache. Under certain conditions, this limit may be exceeded by a small amount. |
SystemPtesLimit | Specifies the maximum amount of system VA space that can be used by I/O mappings and other resources that consume system page table entries (PTEs). |
Determining whether system VA space is being exhausted requires the use of a kernel debugger. For more information, see Debugging Tools for Windows.