当Windows Vista提示“内存不足”……

简介:

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修改方法如下:

  1. 在Windows Vista开始菜单的搜索框中输入“regedit”,按回车;
  2. 注册表编辑将会触发UAC而弹出提示窗口,点击确认继续;
  3. 找到如下注册表分支:

          HKEY_LOCAL_MACHINE
          – SYSTEM
          – – CurrentControlSet
          – – – Control
          – – – – Session Manager
          – – – – – SubSystems

  4. 在右侧面板中,找到名为“Windows”的注册表项,双击;

  5. 该注册表项的值是一个相当长的字符串,找到字符串中“SharedSection=1024,3072,512”部分,将其中的“3072”修改为您希望的数字如“4096”;(注意,不要修改该字符串中的其他内容)

重启Windows Vista,即大功告成。当然,如果继续出现类似的“内存不足”警告,可考虑将该值设得更大,看看问题是否解决。

注1:如果问题仍未解决,请参考突破Windows系统默认用户句柄与GDI句柄限制中的介绍;

注2:修改注册表存在风险,请谨慎操作。Vista天地对此不做任何保证。

分类:  Windows

本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/archive/2007/12/19/1005806.html,如需转载请自行联系原作者
相关文章
|
3月前
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
5月前
|
存储 缓存 Java
释放C盘空间:释放Windows休眠文件和关闭虚拟内存
在 Windows 11 专业版中,可以通过以下步骤来释放休眠文件(Hibernate File),以释放磁盘空间。休眠文件是系统休眠(Hibernate)功能所需要的文件,它保存了系统的当前状态,以便在休眠状态下恢复。如果你不使用休眠功能,如果因为C盘空间不足,可以考虑释放这个文件来腾出磁盘空间。
13174 1
|
5月前
|
C++ Windows
windows下内存检测工具
windows下内存检测工具
179 0
|
4月前
|
网络安全 Windows
windows Windows Defender彻底删除屏蔽后台启动占用内存 win10防火墙 windows10防火墙
windows Windows Defender彻底删除屏蔽后台启动占用内存 win10防火墙 windows10防火墙
56 0
|
10月前
|
存储 安全 数据安全/隐私保护
3.2 Windows驱动开发:内核CR3切换读写内存
CR3是一种控制寄存器,它是CPU中的一个专用寄存器,用于存储当前进程的页目录表的物理地址。在x86体系结构中,虚拟地址的翻译过程需要借助页表来完成。页表是由页目录表和页表组成的,页目录表存储了页表的物理地址,而页表存储了实际的物理页框地址。因此,页目录表的物理地址是虚拟地址翻译的关键之一。在操作系统中,每个进程都有自己的地址空间,地址空间中包含了进程的代码、数据和堆栈等信息。为了实现进程间的隔离和保护,操作系统会为每个进程分配独立的地址空间。在这个过程中,操作系统会将每个进程的页目录表的物理地址存储在它自己的CR3寄存器中。当进程切换时,操作系统会修改CR3寄存器的值,从而让CPU使用新的页
169 0
3.2 Windows驱动开发:内核CR3切换读写内存
|
11月前
|
存储 安全 API
3.5 Windows驱动开发:应用层与内核层内存映射
在上一篇博文`《内核通过PEB得到进程参数》`中我们通过使用`KeStackAttachProcess`附加进程的方式得到了该进程的PEB结构信息,本篇文章同样需要使用进程附加功能,但这次我们将实现一个更加有趣的功能,在某些情况下应用层与内核层需要共享一片内存区域通过这片区域可打通内核与应用层的隔离,此类功能的实现依附于MDL内存映射机制实现。
147 0
3.5 Windows驱动开发:应用层与内核层内存映射
|
11月前
|
安全 Windows
3.3 Windows驱动开发:内核MDL读写进程内存
MDL内存读写是一种通过创建MDL结构体来实现跨进程内存读写的方式。在Windows操作系统中,每个进程都有自己独立的虚拟地址空间,不同进程之间的内存空间是隔离的。因此,要在一个进程中读取或写入另一个进程的内存数据,需要先将目标进程的物理内存映射到当前进程的虚拟地址空间中,然后才能进行内存读写操作。
93 0
3.3 Windows驱动开发:内核MDL读写进程内存
|
5月前
|
缓存 C# Windows
一款.NET开源的小巧、智能、免费的Windows内存清理工具 - WinMemoryCleaner
一款.NET开源的小巧、智能、免费的Windows内存清理工具 - WinMemoryCleaner
137 0
|
11月前
|
安全 PHP 网络虚拟化
windows内存取证-简单
作为 Security Blue 团队的成员,您的任务是使用 Redline 和 Volatility 工具分析内存转储。您的目标是跟踪攻击者在受感染计算机上采取的步骤,并确定他们如何设法绕过网络入侵检测系统“NIDS”。您的调查将涉及识别攻击中使用的特定恶意软件系列及其特征。此外,您的任务是识别和缓解攻击者留下的任何痕迹或足迹。
|
11月前
|
安全 文件存储 数据安全/隐私保护
windows内存取证-中等难度-下篇
承接上文,我们继续学习
下一篇
无影云桌面