System resources

 

 PCNINEONEONE

  Symantec

  LangaList

  Fred Langa
    Part 1
    Part 2
    Part 3
    Part 4

  System Resources FAQ

RESOURCES" VS. "MEMORY" 

"System resources" are among the most misunderstood elements of Win95 and Win98, it's always kind of lumped together "Resources" and "Memory" and this is a very common misunderstanding.

System Resources are of two kinds: User Resources, and GDI (Graphic Device Interface) resources. The Win98 Core consists of User Resources, GDI Resources, and the Kernel. 

"The User component manages input from the keyboard, mouse, and other input devices and output to the user interface (windows, icons, menus, and so on). It also manages interaction with the sound driver, timer, and communications ports. Windows 98 uses an asynchronous input model for all input to the system and applications. As the various input devices generate interrupts, the interrupt handler converts these interrupts to messages and sends the messages to a raw input thread area, which in turn passes each message to the appropriate message queue. Although each Win32-based thread can have its own message queue, all Win16-based applications share a common one." User Resources are limited to a fixed 64 kb. You cannot increase this. 

"The Graphics Device Interface (GDI) is the graphical system that manages what appears on the screen. It also provides graphics support for printers and other output devices. It draws graphic primitives, manipulates bitmaps, and interacts with device-independent graphics drivers, including those for display and printer output device
drivers." GDI Resources are limited to a fixed 64 kb. You cannot increase this.

In contrast to this, "Memory" is generally used to mean RAM (although, technically, there are several kinds of 'memory').

Total System Memory - the total amount of memory (physical & virtual) that is available to Windows.

Free System Memory - the total amount of memory (physical & virtual) that is currently unused.
Total Physical Memory - the amount of physical memory installed in your computer.
Free Physical Memory - the amount of unused physical memory. This can be zero most of the time as Windows tries to use all available physical memory to improve performance.
Maximum Swap File - the maximum size that the swap file (virtual memory) can grow to. Generally this is somewhat less than the free space on the drive that contains the swap file.

Current Swap File - the current size of the swap file. This should be as low as possible, since virtual memory is very slow compared to physical memory.
Free Page File - the current size of unused space in the swap file. Too high a number may mean that the swap file is too large; too low a number may mean that you need to add more physical memory or increase the size of the swap file.
Page File Drive - the drive that contains the swap file.

NB - Unless you know what you are doing you should let Windows manage the swap file.

True Allocated Memory Load - the percentage of allocated memory with respect to the installed physical memory. This is almost always over 100% since Windows utilities all physical memory as well as a bit of the swap file even when it does not need any.
Total Windows Base Memory - the total size of DOS memory available to Windows programs. This should always be 640K unless special memory managers are used or special cards.
Free Windows Base Memory - the total size of DOS memory that is available to use by Windows programs. While Windows programs don't use base memory, some need it to communicate with DOS programs, device drivers or legacy hardware.

Largest Free Base Memory Block - the size of the largest contiguous block of free base memory available. Due to fragmentation this is less than the free base memory.

16-bit System Resources - the percentage of free system resources in the 16-bit Windows sub-system. While Windows 9X/Me provide much better resource management than Windows 3.1, 16-bit code is still present. This is the percentage of free 16-bit heaps and you should keep it above 20%.
16-bit GDI Heap Free - the GDI Heap is memory used to store the graphical elements in Windows, e.g. icons, pens and bitmaps. If you run programs that use a lot of bitmaps, icons, etc., you could run out of GDI Heap. In Windows 3.1 this was only 64KB no matter how much memory you had. You should keep it above 20%, otherwise crashes can occur.

16-bit User Heap Free - the User Heap is memory used to hold information on active windows and other related information. In Windows 3.0 the Menu and String Heaps are included in the User heap. In Windows 3.1 this heap was only 64KB. Running many large applications may result in a crash if the free percentage becomes lower than 20%.



The main advantages of extra RAM are two: (a) It reduces the need for swap
file use, which in itself speeds system performance. (b) It allows VCache to
grow and stay larger, allowing more code to be executed directly from RAM
instead of being reloaded so frequently from the hard drive.

"RESOURCES" VS. "MEMORY" FAQ (Version 2.0)

"System resources" are among the most misunderstood elements of Win95 and
Win98 (and most otherwise good references don't touch on the subject -- the
first two Windows textbooks I picked up don't even have "resources," in this
sense, in the index). This FAQ file is intended to address some of the
common questions about this topic.

Q: Could someone give me a breakdown of what constitutes:
a) Windows 98 "resources" and
b) "Memory"

System Resources are of two kinds: User Resources, and GDI (Graphic Device
Interface) Resources. In the Win98 Resource Kit, check the article titled
"Core System Components." Much of what follows comes from that article. The
Win98 Core consists of User Resources, GDI Resources, and the Kernel.

"The User component manages input from the keyboard, mouse, and other input
devices and output to the user interface (windows, icons, menus, and so on).
It also manages interaction with the sound driver, timer, and communications
ports. Windows 98 uses an asynchronous input model for all input to the
system and applications. As the various input devices generate interrupts,
the interrupt handler converts these interrupts to messages and sends the
messages to a raw input thread area, which in turn passes each message to
the appropriate message queue. Although each Win32-based thread can have its
own message queue, all Win16-based applications share a common one." User
Resources are limited to a fixed 64 kb. You cannot increase this.

"The Graphics Device Interface (GDI) is the graphical system that manages
what appears on the screen. It also provides graphics support for printers
and other output devices. It draws graphic primitives, manipulates bitmaps,
and interacts with device-independent graphics drivers, including those for
display and printer output device drivers." GDI Resources are limited to a
fixed 64 kb. You cannot increase this.

The RK article "Understanding System Performance" gives more details of this
that you might want to examine.

In contrast to this, "Memory" is generally used to mean RAM (although,
technically, there are several kinds of 'memory').

Q: I've always kind of lumped "Resources" and "Memory" together.

This is a very common misunderstanding.

Q: My Resources drop as low as 50-60% a lot of the time. What's wrong?
Should I worry?

Having only 50-60% Resources available is not a problem at all. You can
easily have resources drop to 10-15% without a problem. I've run the
computer with less than that. When Resources get in the 15% range, it is
maybe time to think about shutting down some programs for a while.

Q: Where does one see the quantity of resources being consumed, as opposed
to "memory"? Does Norton System Doctor show you, for example?

Yes, you can set Norton System Doctor monitors for "User Resources" and "GDI
Resources." These show as "USER Free" and "GDI Free." I recommend setting
them. Also, the Windows Resource Meter (RSRCMTR.EXE) will monitor these
nicely with very little overhead; and there are several freeware utilities
that do the same thing. (Note that any utilities to monitor resources will,
themselves, consume system resources - at least a little.)

Q: Why do system resources not return to their full value after I have
exited all of my programs?

There are two kinds of reasons for this: good reasons and bad reasons. These
are discussed in Knowledge Base article Q146418. In brief, the reasoning is
this:

The "good reasons" involve particulars of how Windows handles system
initialization. Windows defers much of system initialization until the first
time a program asks for a particular service. For example, each font is
initialized when a program first asks for it, rather than initializing all
fonts at system startup. Then, if a program requests a service that uses
deferred initialization, the service remains initialized after the program
has exited -- the system resources associated with that service are not
freed. The system keeps the service initialized so that the next program
that requests the service does not have to wait for the service to be
initialized. (This behavior is by design.)

In addition, for compatibility reasons, Windows does not free system
resources abandoned by Win3.1-based programs until all Win3.1-based programs
have been closed. Only when there are no Win3.1-based programs running can
Windows safely release abandoned system resources.

The "bad reasons" are that a particular program sometimes will not free
resources upon exit, as it is supposed to do, perhaps because it was badly
written. This is, surprisingly, relatively rare.

Q: How is one supposed to handle applications that consume large resources?

Be careful about loading several of them at once. These resources are
finite. Programs with heavy graphics demands are among the biggest hogs (GDI
resources usually go down faster than User resources). Heavy multimedia use
puts demands on both. (See the functions of each near the top of this post
for some clarification.)

According to Knowledge Base article Q185832, additional decrease in
resources (without their release) can occur if you start to load a program
and then quit it before it has completely started.

Q: Can't I just "throw" more memory at them? As it is, how can I be sure
that Windows actually uses my 128 Mbytes of RAM?

You cannot effectively throw RAM at resources, because the size of the two
categories of resources is limited to a specific amount. Whether you have 16
mb, 128 mb, or 1,024 mb of RAM will not affect this.

Q: Are there any third party apps that allow one to successfully "handle"
such resource-guzzling applications?

There are programs that claim to do this, but probably Win98's resource
allocation cannot be improved while maintaining full backward and lateral
compatibility. Memory managers and resource managers are, first of all,
programs that demand memory and resources! Secondly, they don't tend to work
that well (if at all). And one thing that is sure is that they cannot
increase resources per se. Note that Win98 releases resources back to the
system far more efficiently than Win95 did, though there are still limits to
this and you ultimately will need to reboot. (I have to do this about every
5-6 days of normal use.)

Q: It seems that "resources being drained" and "memory disappearing" into
the murky waters of Windows 98 are two entirely separate entities!

Absolutely! You've got it!
 

Valid CSS! Valid XHTML 1.0!
Last edited 07 March, 2010
Links verified 18 July, 2004