由于碎片,32 位系统上的系统虚拟地址 (VA) 空间可能会耗尽。 可以使用多个注册表项在遇到此问题的 32 位系统上配置内存限制。 64 位系统上的系统 VA 空间不受碎片耗尽的影响;因此,这些密钥对 64 位系统没有影响。
对于 32 位系统,必须在以下注册表项下显式创建这些内存管理注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\当前控制集\控制\会话管理器\内存管理
Windows Server 2008 和 Windows Vista: 这些注册表项在从 Windows Server 2008 开始的 32 位系统上可用,Windows Vista Service Pack 1(SP1)。
有关 32 位和 64 位系统上的默认内存和地址空间限制,请参阅 windows 版本 内存限制。
下表描述了可用于在 32 位系统上配置内存限制的内存管理注册表项。 所有这些键都有一个REG_DWORD类型和可能的值,范围为 0 到 2,048 MB。 默认值为 0,这意味着不会强制实施任何限制。 值自动向上舍入到下一个系统 VA 分配边界,在启用了 物理地址扩展(PAE)的 32 位系统上为 2 MB,在未启用 PAE 的 32 位系统上,该值为 4 MB。
钥匙 | 描述 |
---|---|
NonPagedPoolLimit | 指定非分页池可以使用的最大系统 VA 空间量。 在某些情况下,此限制可能会超过少量。 |
PagedPoolLimit | 指定分页池可以使用的最大系统 VA 空间量。 |
SessionSpaceLimit | 指定会话空间分配可以使用的系统 VA 空间的最大量。 |
SystemCacheLimit | 指定系统缓存可以使用的最大系统 VA 空间量。 在某些情况下,此限制可能会超过少量。 |
SystemPtesLimit | 指定 I/O 映射和使用系统页表条目的其他资源可以使用的最大系统 VA 空间量。 |
确定系统 VA 空间是否耗尽需要使用内核调试器。 有关详细信息,请参阅适用于 Windows 的调试工具。