在Windows Vista开始菜单的搜索框中输入“regedit”,按回车;
注册表编辑将会弹出提示窗口,点击确认继续;win7系统专题
找到如下注册表分支:
- HKEY_LOCAL_MACHINE
-- SYSTEM
----- CurrentControlSet
-------- Control
---------- Session Manager
----------------SubSystems

在右侧面板中,找到名为“Windows”的注册表项,双击;
该注册表项的值是一个相当长的字符串,找到字符串中“SharedSection=1024,3072,512”部分,将其中的“3072”修改为您希望的数字如“4096”;(注意,不要修改该字符串中的其他内容)重启Windows Vista,即可完成。

主要就是更改desktop heap,并不是真的内存不足,注意是vista控制只使用特定大小的内存区间存放桌面部件元素,如窗口、菜单及各类控件,在32位Windows系统中,该内存区间即所谓的Desktop Heap大小默认为3072KB。如果当前系统打开的窗口过多,即使仍然存在可用的物理内存,但只要desktop heap区被完全占用,Windows 即拒绝打开新的窗口,或无法打开完整的新窗口,或干脆给出“内存不足”提示拒绝运行。

 

微软官方解释

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

有大量程式同時執行時,會出現「記憶體不足」錯誤訊息

讓我自行修正此問題若要修正此問題,請增加桌面堆積的大小: 執行 [登錄編輯程式] (Regedt32.exe)。 從 HKEY_LOCAL_MACHINE 樹狀子目錄,前往下列機碼: \System\CurrentControlSet\Control\Session Manager\SubSystems 選取 [Windows] 值。 從 [編輯] 功能表,選擇 [字串]。 增加 SharedSection 參數。

在 Windows NT 方面:
SharedSection 使用下列格式指定系統和桌面堆積:

SharedSection=xxxx,yyyy

在 yyyy 數字之後加上 ",256" 或 ",512"。

在 Windows 2000、Windows XP 和 Windows Server 2003 方面:
SharedSection 使用下列格式指定系統和桌面堆積:

SharedSection=xxxx,yyyy,zzzz

在 32 位元作業系統方面,請將 yyyy 值增加為 "12288";
將 zzzz 值增加為 "1024"。
在 64 位元作業系統方面,請將 yyyy 值增加為 "20480";
將 zzzz 值增加為 "1024

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。