微软建议在 Boot.ini 中使用 /3Gb 开关,以便为在 32 位系统上运行的进程获取更多内存。
目前我需要大量内存来德文过程(Visual Studio 2008),因为我有一个复杂的解决方案,其中包含许多项目和表单,并且在设计时消耗大量资源。
我想问一下,是否有人知道,使用 /3Gb 开关有什么负面影响,有什么情况下不建议使用它。
答案1
在台式机上,可能没有问题。在设置了 /3GB 开关的 W2K3 / WXP 机器上,内核分页池较小。对于台式机来说,这可能不是问题,因为您不应该接近耗尽内核分页池。在服务器上,耗尽内核分页池会给您带来问题,而且您更有可能耗尽它。
以下是与 /3GB 开关相关的内核内存注意事项的一些详细信息。如果您确实想要,您可以启动 NT 内核调试器并使用此文档中的信息在更改之前和之后分析您的系统:http://blogs.technet.com/markrussinovich/archive/2009/03/26/3211216.aspx
答案2
您的内核可用的内存会减少 - 此开关会调整内核模式地址空间/用户模式地址空间的分配,之前是 2GB 到 2GB,现在变为 1GB 到 3GB。阅读Raymond Chen 的帖子在继续之前,请先查看 /3GB 以及后续内容。
答案3
在进行任何更改之前,您应该首先检查要运行的进程是否与 LARGEADDRESSAWARE 标志相关联。使用此标志,进程使用内存的方式将不会发生任何变化。
您可以使用 SDK 工具来实现此目的:
dumpbin /headers exe名称
输出的标题应该包括:
应用程序可以处理大地址(>2GB)
我对 devenv.exe 进行了检查,在 VS2008 中它确实包含了该标志。
答案4
我们曾在几个运行图像处理应用程序处理大量大图像的系统上使用过它,从未发现任何问题。在任何需要额外 GB 的应用程序内存的情况下,您可能会让应用程序运行,而不对系统执行任何其他操作,因此可能不会产生太大影响。