Windows Vista对内存的要求远高于Windows XP,即便最初级的Windows Vista Capable,也要求512MB的内存,而Windows Vista Premium Ready,则要求1GB的系统内存,而为保证系统的顺畅运行,我们在Windows Vista使用教程中甚至建议最好采用2GB内存的系统配置。
但是,即使您的系统配置了2GB甚至更多的内存,有时也难免会遇到Windows Vista提示“内存不足”警告的情况,或者虽无提示但程序窗口无法打开,甚至程序窗口虽然打开但却不完整如缺少菜单、按钮等,当然,这可能与您同时运行过多的程序打开过多的窗口系统内存被耗尽有关,但有时情况并不这么绝对:在任务管理器中明明可以看到还有大量的未使用的物理内存,这时出现的“内存不足”提示便有些怪异了。
事实上,这是Windows NT家族系统的老毛病了:无论系统中真正的物理内存多大,Windows只使用特定大小的内存区间存放桌面部件元素,如窗口、菜单及各类控件,在32位Windows系统中,该内存区间即所谓的Desktop Heap大小默认为3072KB。如果当前系统打开的窗口过多,即使仍然存在可用的物理内存,但只要desktop heap区被完全占用,Windows 即拒绝打开新的窗口,或无法打开完整的新窗口,或干脆给出“内存不足”提示拒绝运行。
因此,如果您的物理内存足够大,并且习惯于同时运行大量程序,为避免类似的“内存不足”问题,可考虑将desktop heap大小从3072KB修改为更大的设置,如 4096KB,对重度使用者,甚至可以考虑将该值设为8192KB。
Desktop Heap修改方法如下:
- 在Windows Vista开始菜单的搜索框中输入“regedit”,按回车;
- 注册表编辑将会触发UAC而弹出提示窗口,点击确认继续;
- 找到如下注册表分支:
HKEY_LOCAL_MACHINE
– SYSTEM
– – CurrentControlSet
– – – Control
– – – – Session Manager
– – – – – SubSystems - 在右侧面板中,找到名为“Windows”的注册表项,双击;
- 该注册表项的值是一个相当长的字符串,找到字符串中“SharedSection=1024,3072,512”部分,将其中的“3072”修改为您希望的数字如“4096”;(注意,不要修改该字符串中的其他内容)
重启Windows Vista,即大功告成。当然,如果继续出现类似的“内存不足”警告,可考虑将该值设得更大,看看问题是否解决。
注1:如果问题仍未解决,请参考突破Windows系统默认用户句柄与GDI句柄限制中的介绍;
注2:修改注册表存在风险,请谨慎操作。Vista天地对此不做任何保证。