Solved

System resources vs. RAM conundrum!

Posted on 2001-08-16
7
213 Views
Last Modified: 2013-12-28
I have been told that if I increase my RAM (e.g.from 128 MB to 256 MB), this should not have any effect on the level of system resources. However, how does one explain the following:  opening several browser windows, one after another, leads to a decrease (percentage) in system resources until eventually the level goes so low that the system does not respond!  But, increased RAM is designed to facilitate the opening of several programs simultaneously.   There seems to be a contradiction here.  Can anyone explain?  Thanks.
0
Comment
Question by:heat_doctor
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
7 Comments
 
LVL 59

Accepted Solution

by:
LeeTutor earned 50 total points
ID: 6394716
System resources are allocated out a fixed pool of RAM, and they will be used up before the amount of free RAM used for storing the different instances of the browser is used up.  Here's a good quote on RAM vs Resources:

RESOURCES vs. MEMORY

"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.

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 Windows 98 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.

Why these 64 KB limits? They are used to ensure backward compatibility for 16-bit programs originally written for DOS and Windows 3.x. This backward compatibility is one of the main reasons Windows 95/98 would be chosen by a user instead of Windows NT (which has much poorer and less reliable backward compatibility for 16-bit programs). Note that the 64 KB limitation on User and GDI Resources does not exist in Windows NT (which, however, may not be able to run some of the particular programs causing the "Resources drain" in Windows 95/98).

The Resource Kit 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').

I've always kind of lumped "Resources" and "Memory" together.
This is a very common misunderstanding.

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.

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.)

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 the Knowledge Base article "Free System Resources Do Not Return To Previous Value." 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. (This behavior is also by design.)

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.

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, at least where heavy graphics demands are involved). 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 "System Resource Decrease After Starting and Quitting a Program," 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.

Can't I just "throw" more memory at them? As it is, how can I be sure that Windows actually uses my 128 MB 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.

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 certain 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.)

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!

0
 
LVL 15

Expert Comment

by:hewittg
ID: 6395059
0
 
LVL 44

Expert Comment

by:CrazyOne
ID: 6395116
LeeTudor's and Glenns comment covers it all I would like to make one correction on what the heap sizes are. I believe the link I provided here is also on the page that Glenn's link points to.

16-bit User heap (64K)
32-bit User window heap (2MB)
32-bit User menu heap (2MB)
16-bit GDI heap (64K)
32-bit GDI heap (2MB)

http://support.microsoft.com/support/kb/articles/Q190/2/17.ASP 


The Crazy One
0
Simple, centralized multimedia control

Watch and learn to see how ATEN provided an easy and effective way for three jointly-owned pubs to control the 60 televisions located across their three venues utilizing the ATEN Control System, Modular Matrix Switch and HDBaseT extenders.

 
LVL 59

Expert Comment

by:LeeTutor
ID: 6424003
heat_doctor, isn't your question answered?
0
 
LVL 44

Expert Comment

by:CrazyOne
ID: 6434408
Curious to why a B was given here.
0
 
LVL 59

Expert Comment

by:LeeTutor
ID: 6434426
Me, too.  Oh, well.  Speaking of A's and B's, CrazyOne, have you read Shekerra's profile?
0
 
LVL 44

Expert Comment

by:CrazyOne
ID: 6434478
Yeah hehehehe
0

Featured Post

Easy, flexible multimedia distribution & control

Coming soon!  Ideal for large-scale A/V applications, ATEN's VM3200 Modular Matrix Switch is an all-in-one solution that simplifies video wall integration. Easily customize display layouts to see what you want, how you want it in 4k.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Learn how to PXE Boot both BIOS & UEFI machines with DHCP Policies and Custom Vendor Classes
The Windows functions GetTickCount and timeGetTime retrieve the number of milliseconds since the system was started. However, the value is stored in a DWORD, which means that it wraps around to zero every 49.7 days. This article shows how to solve t…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This video Micro Tutorial explains how to clone a hard drive using a commercial software product for Windows systems called Casper from Future Systems Solutions (FSS). Cloning makes an exact, complete copy of one hard disk drive (HDD) onto another d…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question