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.