突破Windows系统默认用户句柄与GDI句柄限制

简介:

如今,内存越来越便宜,许多朋友为自己的PC配备了高容量的内存,以期得到理想的系统性能,1G、2G甚至更多内存的PC已经很常见了。但是,出乎许多朋友意料的是,即使Windows系统,不仅仅Windows Vista也包括Windows 2000/XP/2003,具有2GB甚至更多的内存,有时也会遇到Windows Vista提示“内存不足”警告的情况,或者虽无提示但程序窗口无法打开,或程序窗口虽然打开但却不完整如缺少菜单、按钮等,而事实上,这时仍有相当部分的物理内存闲置,颇令许多朋友困扰,难道为Windows配备这么大的内存便是一种浪费么?

当Windows Vista提示“内存不足”……一文中,我们介绍过出现这种情况多是因为默认的Desktop Heap区间被占满所致,并给出将desktop heap区大小从默认的3072KB提高到需要数值的办法。不过,许多朋友依步骤进行调整后发现,仍然没有从根本上解决这一问题,上述的故障仍然时不时地再次出现,那么,问题出在哪儿?

其实,在Windows NT 家族系统中,除了desktop heap区的限制外,默认的用户句柄(User Handle)与GDI 句柄(GDI Handle)限制同样是引发上述故障的原因之一,特别是考虑到之前系统物理内存普遍较少的客观情况,默认的用户句柄与GDI 句柄数量也成为Windows 阻止同时打开更多程序/窗口的另一个主要原因。

解决方案很简单,那便是将默认的用户句柄与GDI 句柄数量修改为较大的数值。 :P

提高Windows默认的默认的用户句柄与GDI 句柄数量

  1. 在Windows Vista开始菜单的搜索框中输入“regedit”,按回车;
  2. 注册表编辑将会触发UAC而弹出提示窗口,点击确认继续;
    当Windows Vista提示“内存不足”……一文介绍的方法,首先将desktop heap区的大小从默认的3072KB提高,检查问题是否解决,如没有解决,再尝试以下的步骤;
  3. 找到如下注册表分支:

    HKEY_LOCAL_MACHINE
      – SOFTWARE
      – – Microsoft
      – – – Windows NT
      – – – – CurrentVersion
      – – – – – Windows

  4. 在右侧窗格中可以看到名为“GDIProcessHandleQuota”与“USERProcessHandleQuota”的注册表项;
  5. GDIProcessHandleQuota项设置GDI句柄数量,默认值为2710(16进制)/10000(10进制),该值的允许范围为 256 ~ 16384 ,将其调整为大于默认的10000的值。如果您的系统配置了2G或更多内容,不妨将其设置为允许的最大值 16384(10进制);
  6. USERProcessHandleQuota项设置用户句柄数量,默认值同样为2710(16进制)/10000(10进制),该值的允许范围为 200 ~ 18000 ,将其调整为更多的数值。同样地,对于具有2GB或更多物理内存的系统,不妨将用户句柄数直接设置为上限 18000(10进制);

需要强调的是,修改“GDIProcessHandleQuota”与“USERProcessHandleQuota”值时,不要超过其接受的上限,不然,将导致Windows 无法工作或运行不稳定。另一方面,即使您的调整其超过其允许的上限,如果发现修改后Windows出现不稳定的症状,便需要将相应的数值调低些,或者恢复默认值。

  1. 本技巧适用于Windows 2000、 Windows XP、 Windows Server 2003、Windows Vista;
  2. 修改注册表存在风险,请谨慎操作,最好在修改前备份注册表,以当系统故障时恢复。Vista天地对此不承担任何责任。
分类:  Windows

本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/archive/2007/12/19/1005807.html,如需转载请自行联系原作者
相关文章
|
1月前
|
Windows
查看Windows系统 重启时间
查看Windows系统 重启时间
31 0
|
2月前
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
22天前
|
Windows
如何查看自己电脑的windows系统版本?
这篇文章提供了一种简单快捷的方法来查看自己电脑的Windows系统版本,通过使用Windows的"运行"功能并输入`winver`命令来快速获取系统版本信息。
如何查看自己电脑的windows系统版本?
|
2月前
|
Linux Windows
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
|
26天前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
1月前
|
传感器 安全 文件存储
CrowdStrike更新导致全球Windows系统大规模崩溃,CEO致歉并详解修复措施
CrowdStrike更新导致全球Windows系统大规模崩溃,CEO致歉并详解修复措施
CrowdStrike更新导致全球Windows系统大规模崩溃,CEO致歉并详解修复措施
|
17天前
|
存储 Web App开发 调度
Windows系统新手教程:常见操作命令帮你玩转电脑
Windows系统新手教程:常见操作命令帮你玩转电脑
57 5
|
28天前
|
Linux Windows
【Linux】grub命令行引导进入windows系统
【8月更文挑战第20天】在Linux中通过GRUB命令行引导Windows的方法包括:1) 进入GRUB命令行模式,启动时按`c`键;2) 使用`ls`查找含Windows引导文件的分区,如`bootmgr`或`ntldr`;3) 设置根设备`root=(hd0,msdos3)`与链加载器`chainloader +1`;4) 输入`boot`命令启动Windows。请注意实际步骤可能因系统配置而异。
|
1月前
|
缓存 Windows
一文教会你如何重装Windows10系统【过程+图解+说明】
该博客文章是一份详细的Windows 10系统重装教程,包括制作过程、图解说明和注意事项,作者分享了自己制作启动盘并成功安装系统的经验,适合初学者参考。
一文教会你如何重装Windows10系统【过程+图解+说明】
|
1月前
|
弹性计算 Windows
震惊!ECS Windows 系统磁盘竟“撒谎”,空间去哪儿了?别急,这里有终极破解法!
【8月更文挑战第15天】在使用ECS Windows系统时,可能会遇到磁盘显示占用的空间远超实际文件大小的情况,导致空间不足。原因包括系统还原点、卷影副本累积及回收站文件未彻底删除等。解决方法有:清除系统还原点(`vssadmin delete shadows /all`),清空回收站,删除临时文件夹中的文件,以及检查并修复磁盘错误。这些步骤能有效释放空间,保证系统稳定运行。
39 4