Out-of-Memory Problems for Windows


When Windows tell you there isn't enough memory to run an application, don't take it too literally. While Windows makes much better use of extended memory and virtual memory for loading many programs, believe it or not it is still restricted by the amount of DOS conventional memory free, and it also has some additional types of memory limitations.

The first thing to check when you run into this problem is what other Windows programs are running. Hold down the Ctrl key and press Esc; this will display a Task List showing you what programs Windows is currently running. If you see a program you aren't using, close it and then try running your other program again.

The worst limitation of Windows is its User memory and GDI memory. These are the areas used to store window information, data for all fonts, buttons, icons, and other housekeeping things. Each of these memory areas is set at 64K because that's what Windows said it will be, and there is no way to increase it. How do you find out whether these are causing your problems? The easiest way is to get to the Program Manager, click on the Help menu, then choose About Program Manager. The last item labeled System Resources will tell you the smallest free percentage ouf of virtual memory, User memory, and GDI memory. For a more accurate picture of what is being used, find the System Resource Meter (available in the Microsoft Windows Resource Kit).

If it's User or GDI memory you are low on, how many fonts do you have in Windows? Some programs, such as Corel or Adobe, come with dozens or hundreds of great-looking fonts, but there is no way Windows can handle 800 fonts at once. Limit yourself to 100 or so.

If you are having trouble when printing, the cause may not really be memory at all, but disk space. Open the File Manager or exit to the DOS prompt and get a directory listing. At the bottom it will tell you how much disk space is free. You should have at least 5-10MB free for Windows to create temporary files in. If not, look for old temprary files you can delete; these usually begin with a tilde (~) or end in .TMP. If you still don't have enough free space after that, start looking for unused data files or programs you can get rid of.

As I mentioned above, conventional memory is also important. Exit to the DOS prompt and type MEM; you should have around 500K or more conventional memory available to run Windows, and the more Windows programs you run, the more conventional memory you will need. See the section on out-of-memory errors for DOS for information on making more conventional memory available.


Return to index