Windows Server 2003 的 Boot.ini 文件的/3GB开关选项

/3GB

该开关强制基于 x86 的系统为程序分配 3 GB 的虚拟地址空间,为内核及可执行组件分配 1 GB 的虚拟地址空间。程序在设计上必须能够利用额外的内存地址空间。使用该开关,用户模式程序能够访问 3 GB 的内存而不是通常 Windows 分配给用户模式程序的 2 GB 的内存。该开关将内核的内存起始位置移至 3 GB 处。某些 Microsoft Exchange Server 2003 和 Microsoft Windows Server 2003 的配置可能需要使用该开关。

如果您在基于 Microsoft Windows Server 2003 的计算机上安装 Exchange Server 2003,该计算机上安装了 1 千兆字节 (GB) 或更大的物理随机存取内存 (RAM) 并且邮箱或公用文件夹位于此计算机上,您必须编辑 Boot.ini 文件来优化信息存储服务对虚拟内存的使用。
在通常情况下,对于每个进程,为用户模式进程分配的虚拟地址空间是 2 GB,为操作系统分配的虚拟地址空间是另外 2 GB。在 Windows Server 2003 中使用 /3GB 参数时,为用户模式进程分配的虚拟地址空间是 3 GB,为操作系统分配的虚拟地址空间仅为 1 GB。对额外的 1 GB 地址空间的重新分配有助于解决 Store.exe 虚拟地址空间中的内存碎片问题。为 Store.exe 分配了较大的地址空间后,在使用所有大的内存块之前,内存更容易连接在一起。
安装 Windows Server 2003 之后,请修改 Boot.ini 文件,然后在启动行中添加 /3GB/USERVA=3030 参数,具体方法如下例所示:

[Boot Loader]
Timeout=30
Default=multi(0)disk(0)rdisk(0)partition(2)\WINNT

[Operating Systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows Server 2003" /fastdetect /3GB  /USERVA=3030

在将 /3gb 值添加到 Boot.ini 文件中后,可能会减小称为 System Page Table Entries 的不足系统资源的值,这可能会导致 Exchange Server 计算机操作不稳定。 有关如何防止中断 Exchange Server 计算机的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

316739 (http://support.microsoft.com/kb/316739/ ) 如何使用 /userva 和 /3GB 开关将用户模式空间调整为介于 2 GB 和 3 GB 之间的值

注意:您不必在基于 Microsoft Windows Small Business Server 2003 的计算机上使用 /3GB 开关。建议不要在还充当 Active Directory 域控制器或全局编录服务器的 Exchange Server 计算机的 Boot.ini 文件中使用 /3GB 开关参数。

默认情况下,Windows Server 2003 为内核保留 2 GB 的虚拟地址空间,同时允许用户模式进程(例如,Exchange 2003 信息存储进程 Store.exe)使用 2 GB 的虚拟地址空间。特定进程的虚拟地址空间是在启动时分配的;在运行期间,此空间会随着内存使用的增加而增加。标准情况下,一个进程使用的实际内存(工作设置)比为其分配的地址空间少得多。在内存超过 1 GB 的 Exchange 2003 计算机上,必须修改 Windows Server 2003,以便为用户模式的应用程序提供 3 GB 的内存。
注意:应确保 Store.exe 进程不会将虚拟地址空间用尽。如果用尽,则内存分配失败(即使尚有大量剩余物理 RAM),您必须重新启动 Microsoft Exchange 信息存储服务。
例如,具有 2 GB 物理 RAM、但没有在 Boot.ini 文件中设置 /3GB 参数的服务器在 Store.exe 所使用虚拟地址空间达到 2 GB 时将出现内存不足的情况。Windows 任务管理器中显示此方案中实际使用的内存仅为 1.5 GB,但是服务器仍然内存不足。
对于 Windows Server 2003 而言,/USERVA 是个新增参数,可在用户模式和内核模式之间更好地分割内存分配。这使您能够为更多用户扩展服务器而不会冒系统资源耗尽的风险。可使用 /USERVA=3030 向页表项 (PTE) 的内核分配额外的 42 MB 内存。但可能需要对该值进行更多调整。可以使用性能监视器监控 PTE 的使用情况。要监控的对象是“Free System Page Table Entries”。如果发现值小于 7000,则必须减小值 3030,否则系统会不稳定。如果值小于 20,000,则应逐步减小该值,每次减小 64 MB,直到观察到的值大于 20,000 为止。
注意:Microsoft 产品支持服务部门强烈建议将 /USERVA 开关的内存使用范围限制在 2800 到 3030 之间。该范围足以提供相当大的系统 PTE 池,以解决当前发现的所有问题。通常,/userva=2800 设置提供的系统 PTE 数尽可能接近其最大可用数。Microsoft 产品支持服务部门当前尚未发现要求内存值小于 2900 的 Exchange Server 计算机。
您可以使用性能监视器来监控虚拟地址的使用。请为 Store.exe 进程添加“虚拟字节”计算器以确保虚拟空间的准确读取。Store.exe 进程是唯一必须由您监控的 Exchange 2003 进程。其他 Exchange 2003 进程不会增大到造成问题的地步。
由于 Exchange Server 在扩展时使用 /3GB 开关,因此 Exchange Server 计算机无法有效地使用大于 4 GB 的内存。Exchange Server 不支持实例、物理地址扩展 (PAE) 或地址窗口扩展 (AWE)。因此,4 GB 内存是可以有效使用 Exchange Server 计算机的最大内存量。

在 Windows Server 2003 系列中,您可以使用 /userva=xxxx 开关更精确地调整用户和内核虚拟内存空间。将这个新的开关与 Boot.ini 文件中的 /3GB 开关一起使用,可将用户模式空间调整为介于 2 GB 和 3 GB 之间的值,差额部分(3,072 减去 xxxx)将返回内核模式。注意,xxxx 以兆字节 (MB) 为单位。
下面的示例 Boot.ini 文件说明如何使用这个新开关调整计算机,为用户模式虚拟内存分配 2,900 MB 的空间,为内核模式虚拟内存分配 1,196 MB 的空间。这使可用内核空间增加了 172 MB:

[Boot Loader]
Timeout=30
Default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[Operating Systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows Server 2003" /fastdetect /3GB /Userva=2900

From:

http://support.microsoft.com/kb/316739/

http://support.microsoft.com/kb/823440/

http://support.microsoft.com/kb/833721/zh-cn

原文地址:https://www.cnblogs.com/emanlee/p/1701394.html