Out of Memory Error Messages (Win95/98/98se/ME)
This article details how
to fix these problems.
THE SYMPTOMS
If a
computer that is running any of the versions of Windows that are listed above
contains more than 512 megabytes (for example, 768 megabytes) of physical memory
(RAM), you may experience one or more of the following symptoms:
· You may be
unable to open an MS-DOS session (or command prompt) while Windows is running.
Attempts to do so may generate the following error message:
There is not
enough memory available to run this program. Quit one or more programs, and then
try again.
· The
computer may stop responding (hang) while Windows is starting, or halt and
display the following error message:
Insufficient
memory to initialize windows. Quit one or more memory-resident programs or
remove unnecessary utilities from your Config.sys and Autoexec.bat files, and
restart your computer.
THE CAUSE
The Windows
32-bit protected-mode cache driver (Vcache) determines the maximum cache size
based on the amount of RAM that is present when Windows starts. Vcache then
reserves enough memory addresses to permit it to access a cache of the maximum
size so that it can increase the cache to that size if needed. These addresses
are allocated in a range of virtual addresses from 0xC0000000 through 0xFFFFFFFF
(3 to 4 gigabytes) known as the system arena.
On systems with an AGP
Graphics card, the problem is more severe as these addresses fall into the AGP
Port Address Range.
On computers with large
amounts of RAM, the maximum cache size can be large enough that Vcache consumes
all of the addresses in the system arena, leaving no virtual memory addresses
available for other functions such as opening an MS-DOS prompt (creating a new
virtual machine).
THE
FIX
Use the MaxFileCache
setting in the System.ini file to reduce the maximum amount of memory that
Vcache uses to 512 megabytes (524,288 KB) or less. Here's how to do it:
1. Open Msconfig (for
Win95, use Sysedit). Click the System.ini Tab. Click the [+] sign next to the [vcache]
folder. Highlight the [vcache] folder by clicking on it.
2. Click the
"New" button. A blank box will appear below the [vcache] folder.
3. Type in the
following: MaxFileCache= (50% of the total System RAM in kilobytes)
(You're actually going
to type in a number after the = sign based on a formula.)
4. The following chart
gives both the formula and some values for common amounts of System RAM.
Formula
- System RAM
(in MB) x 1024 / 2 = MaxFileCache value in kilobytes
Example: 384 x 1024 =
393216 / 2 = 196608
Amount
of RAM MaxFileCache Value
128MB 65536
256MB 131072
384MB 196608
512MB 262144
768MB 383216
1024MB 524288
Example - For a system
with 1024MB RAM the entry will look like the following:
5. After typing in the
line, press "Enter". Click "Ok" and restart the system when
prompted. You can do this from Safe Mode if necessary.
6. After rebooting, open
some programs and the Memory errors should be gone. Issue resolved!
By setting the Maximum
Vcache size to 50% of System RAM, Vcache can grow to a large enough value so as
not to hinder system performance, yet small enough so that it stops the
"Out of Memory" Errors.
Windows 95/98/98se and
ME were never designed to deal with huge amounts of RAM. Memory prices were
astronomical when these Operating Systems were built, so it makes sense when you
look at it that way.