系统资源丢失的问题如何解决
谈到Windows时,有一个必说的话题--系统资源(System Resource),但系统资源到底是什么,有人说是指CPU,有人说是指硬盘空间,有人说是指内存……
当应用程序在Windows中运行时,Windows必须实时跟踪该应用程序的运行,并保留与之相关的许多信息,如按钮、光标、菜单的位置和位图、窗口的状况等,这些信息由Windows保留在一种叫堆的内存块中,堆的英文为Heap。简单地说,堆是采用特殊机制管理的内存块。由Windows的一个系统内核User.exe管理的堆叫作User资源堆(User Resource Heap),由另一个系统内核Gdi.exe管理的堆叫作GDI资源堆(Graphical Device Interface Resource Heap,简称GDI Resource Heap),User资源堆和GDI资源堆合称为系统资源堆(System Resource Heap),习惯上就把它们叫作系统资源(System Resource)。
微软将Windows的系统资源(堆)分为五个堆,其中User资源堆为三个,而GDI资源堆为两个。
三个User资源堆分别是:16位的用户堆(User Heap,64KB);32位的窗口堆(Windows Heap,2MB);32位的用户菜单堆(User Menu Heap,2MB)。
两个GDI资源堆分别是:16位的GDI堆(GDI Heap,64KB);32位的GDI堆(GDI,2MB)。
从这里的系统资源分类和大小我们应该明白,不管CPU是P4还是486,内存是8M还是1G,所有Windows的用户都拥有同样大小的系统资源(堆),用户不能自己增加或减少系统资源的大小,这是由操作系统决定的,与硬件档次没有任何关系。
Windows的User资源堆和GDI资源堆的可用(Free)空间称为可用 User资源和可用GDI资源,Windows中以百分数表示它们,用户可以选择 开始/附件/系统工具/资源状况(见图),来实时查看它们的大小。注意,资源状况不是Windows的默认安装组件,使用典型安装的用户需自己添加上去。
二、为什么可用系统资源不断减少
当一个应用程序在Windows中被加载时,Windows自动地将可用User资源堆和可用GDI资源堆中的一部分空间分配给它,而当应用程序退出时,这部分空间也应该由Windows收回以交给别的应用程序使用。但实际上几乎所有的Windows 用户都发现:一个应用程序加载前和退出后可用系统资源的值是不相等的,而且随着应用程序的不断加载和退出,随着Windows使用时间的增加,附图中资源状况显示的可用系统资源也在不断减少。 微软的正式解释是:
* 系统初始化
Windows在
久尚整理 更多关于系统资源丢失的问题如何解决 的文章
搜索:




