This article discusses system resources for Microsoft Windows versions3.0 and 3.1, explains how the "System Resources: XX% Free" value iscalculated, and describes what to do if system resources become depleted.
System Resources in Windows 3.0
When you choose About Program Manager from the Help menu in ProgramManager, Windows reports a "System Resources: XX% Free" value. Thispercentage is derived from two of the three major Windows components,USER.EXE and GDI.EXE. (The third component is KRNL286.EXE or KRNL386.EXE,depending on the mode in which Windows is running.)
USER.EXE and GDI.EXE each have a data segment (that is, heap) limitedto 64K. The 8086/80286 platform architecture imposes this 64K limit.Program Manager checks the percentage of free heap space for bothUSER.EXE and GDI.EXE. It then reports the smaller of the twopercentages. For example, if USER.EXE has 50 percent free heap space,and GDI.EXE has 70 percent free heap space, Program Manager reports 50percent.
USER.EXE and GDI.EXE
The USER.EXE heap contains information about windows being used byactive applications. The data structure for each window, including anyminimized windows, is stored in this heap. Examples of windows includeapplication windows, dialog boxes, and controls (such as buttons andcheck boxes).
The GDI.EXE heap contains graphical objects, such as pens, brushes,cursors, fonts, and icons.
System Resources in Windows 3.1
A large number of items that originally occupied space in the USER.EXEheap in Windows 3.0 were moved into separate heaps in Windows 3.1.
Two new heaps were created, each limited to 64K. Menu structures arenow stored in one heap; menu and window text strings are stored inanother heap. Also, window data structures, which are stored in theUSER.EXE heap, are slightly smaller than in Windows 3.0.
The GDI.EXE heap capacity in Windows 3.1 decreased slightly. All theobjects stored in the GDI.EXE heap were enlarged by 1 byte, making itscapacity slightly less than it was in Windows 3.0.
The percentage of available free space is computed for each of thefour heaps separately. The lowest value is then reported as thepercentage of available system resources, as in Windows 3.0.
Running Out of System Resources
In Windows 3.1, as in version 3.0, you can run out of system resourcesoccasionally because the GDI.EXE heap is still limited to 64K. Theentire GDI.EXE heap can become full with buttons, dials, and othergraphical objects, causing a low system resources error, even if theother heaps are relatively empty.
Closing Windows applications, frees most USER.EXE objects. However,GDI.EXE objects such as pens and brushes are not always freed, evenwhen heavily graphics-oriented applications are closed. Some portionof the GDI.EXE heap may be lost until you restart Windows.
Reducing System Resources Usage
In Windows 3.0 Program Manager, each displayed icon in a groupconsumes approximately one-half of one percent of the "SystemResources: XX% Free" figure. System resources are not released if thegroup is minimized or if the icon is deleted during a Windows session.However, if you keep a group minimized when you exit Windows, the nexttime you start Windows the icons in the group do not take up systemresources until you open the group.
NOTE: In Windows 3.1, each group takes just one window, regardless ofthe number of icons in it.
If your system resources are often low, keeping few applicationsrunning is probably the best solution; however, you may also want todo the following:
- Minimize seldom-used groups to conserve system resources.
- Don't use wallpaper or use a small bitmap and tile it.
- Try not to keep groups that have many icons open.
- If you run an application that uses system resources every time it runs, try to keep it open instead of closing and reopening it many times during the day.
- Try not to load fonts that aren't needed.
- Check your screen savers to make sure that they are not leaking resources.