Vanishing memory


Q I use a networked Pentium 75 with 8MB RAM running Windows 3.1. I use a DOS program written in Clipper, which can display the amount of available memory left (the program runs in extended memory).

If I start this program through Windows, the program says I have 1494KB memory available.

However, if I run Excel or Access first, quit the application and then run the Clipper program, it says I have less memory available (sometimes up to 1MB less).

Could you please explain why there is significantly less memory available in the second instance, and how I can get more memory back for the Clipper program.

- Dennis Gibbons

A The all-embracing solution to problems like this is an upgrade to a more recent operating system with better memory handling. Not only is Windows 3.1 obsolete, but support for it is rapidly disappearing.

However, while Win 3.1 runs satisfactorily on the 8MB 75MHz configuration, Windows 95 or later needs at least 16MB for adequate performance. You may need to replace all your memory, and perhaps the motherboard, and the upgrade could end up costing you several hundred dollars. On the plus side, this will certainly make this problem go away, while no doubt creating plenty of others.

I am not sure how your Clipper utility works, but I am tempted to question its results, although if the Clipper program will not run because it cannot allocate memory I suppose you have to take its word for it. If the memory is disappearing, it is probably due to a phenomenon known as memory leakage. You can easily do a simple independent check using the free System Resources figure. Select Program Manager-Help-About to see System Resources, which gives a measure of available memory. Check it before running Excel and Access, then after. If it shows a lower figure, you have confirmed memory leakage. Windows 3.1 has problems dealing with DOS programs, because they all need memory in the DOS address space below 1MB, and they compete for it, often taking more than they need. This may be part of the problem.

If memory leakage is occurring, you can deal with it simply by rebooting every time you want to use your Clipper program. I suspect you are doing that now, and what you want is a more elegant solution. The solution is a Windows 3.1 memory manager that overcomes the poor management of the operating system.

There's a product called WinMiser Pro which supposedly alerts you to memory problems and reclaims leaked memory. There's a trial shareware version that alerts but does not have the reclaim function. It's on this month's cover CD or you can download it from www.speed-light.com/wmpro/dlshare.html. A single licence costs $US59.00.

An Australian product called Ramgate (www.ramgate.com.au) can help manage Windows 3.1 applications, particularly by preventing GPFs and defragmenting memory, but may not address the DOS memory allocation issue.

û Neale Morison


Category:windows 3.x
Issue: April 1999

These Web pages are produced by Australian PC World © 1999 IDG Communications