手动设置IncreaseUserVA有哪些危险?


8

我在32位系统上运行Visual Studio 2010,并经常遇到虚拟内存不足的问题,因此我无法再在VS中执行复制/粘贴之类的操作。

我签出了一些选项,并且该上的Microsoft行指示正在运行,并且打开的扩展名较少,并且如果行不通,请使用bcedit / set GrowthUserVA 3072命令。

这似乎确实可以缓解该问题,但是在使用大约一天后,突然间,窗户开始告诉我,我的磁盘空间不足-可用空间超过100Gb的驱动器。例如,它将停止复制文件,并说没有空间可以复制它。但是,单击“重试”将成功。许多其他将内容写入磁盘的程序也会经常掉下来。(包括Skype ...为什么一直在向磁盘写入数据,Skype ?!)

在确定必须对我的配置更改负责之前,我运行了chkdsk并进行了其他基本检查。幸运的是,恢复默认设置可以正常工作,现在我可以恢复工作了。

大多数关于IncreaseUserVA的文章(特别是Microsoft的文章除外)都说“使用后果自负”,显然我这样做了,却迷失了方向。但是,谁能解释为什么会出现这种行为?如果对Windows 7配置进行了合理的更改,怎么可能出错呢?

作为记录-该机器是一台Dell Vostro笔记本电脑,它具有260Gb / 5400rpm磁盘驱动器,3.2Gb(有效)RAM,运行Windows 7,且SP1之前具有所有更新。


如果出现问题,如何将其恢复为默认值。通过运行此命令,bcedit / set GrowthUserVA 2048?
Saravana Kumar,

Answers:


6

Windows将32位系统上可用的4GB地址空间划分为一半,以便内核获得2GB,程序获得2GB(已虚拟化,因此每个程序获得2GB)。“ bcedit / set GrowthUserVA 3072”命令更改分区,以使每个程序获得3GB,而内核空间仅获得1GB。通常,这可以正常工作,但是如您所知,您可能会遇到麻烦。通常是一些在内核空间中运行的驱动程序,已经过硬编码,以假定它具有2GB的可用地址空间,从而在尝试使用2GB的地址空间而无需费心检查是否可以使用时会导致问题。


0

如果您有8 GB的RAM,并且需要更大的用户地址空间,最好的解决方案是安装Windows 2003 Server。无需任何调整,您的32位应用程序每个将获得4 GB的地址空间。有些驱动程序不喜欢此驱动程序,这就是为什么MS不在桌面OS上启用它的原因。由不支持该驱动程序的驱动程序导致的崩溃是无法预测的,很难诊断,并且大多发生在服务器环境中未使用的驱动程序中。

可以修改Vista / Win7内核并将其作为选项添加到引导菜单中,以获取与32位服务器版本中可用的内存相同的内存:

www.geoffchappell.com/notes/windows/license/memory.htm

有一个预制的补丁可以做到这一点,但是我还没有测试它,也没有来源...


如前所述,该补丁程序称为patch2pae。在wj32.org/wp/2010/05/04/pae-patch-updated-for-windows-7中找到了一个副本,它修补Windows加载程序和内核以通过PAE扩展访问4GB以上的地址空间。
g5thomas

0

为了获得一个大项目进行编译,我有时将IncrementUserVa设置为3g。我注意到,如果系统进入休眠状态,则唤醒后会变得非常不稳定。我猜服务器通常不会休眠。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.