Memory management using Rambooster
Revised Introduction (July 2001)
Since writing this article I have all but stopped using Rambooster for two reasons. Firstly I have a new computer and shortage of memory is much less of a problem than when I was thrashing a woefully underpowered machine. Secondly, I have adopted another memory manager - RAMPage - for the (now rare) occasions when I need to 'clean' my memory.
My change of allegiance was prompted by Fred Langa's series of articles about Resource leaks, in particular Resource Leaks, Part Two where he summarises the benefits and problems involved in using various memory managers. That article (and parts 1, 3 and 4) is highly recommended reading, but to summarise - Fred concludes that memory managers which sit in your system tray often don't help and can even be counter-productive, and I would support his recommendation of another freeware utility so if all you want is to find the best memory managing utility available go to Memory management using RAMPage
As well as the usual system-tray/memory-resident mode, RAMPage has a command-line mode, and can thus be triggered from a normal desktop (or launch-bar) icon. So the main problems associated with memory managers - that they themselves use valuable memory resources and they sometimes kick in at the wrong moments causing system instability or interrupting sensitive operations - can be avoided, while the main benefits - clearing up unreleased memory after application crashes, or manually triggering memory optimisation before a particular memory-hungry operation - can still be achieved.
However, since this page still attracts a lot of hits from people searching specifically for Rambooster, and since I was a very satisfied Rambooster user for a long time, I have left the following article in situ. I still believe Rambooster to be a fine utility and definitely worth a try (especially at the price) - it's just that for my needs now, RAMPage is better.
Old Introduction (July 2000)
For over a year I used a 486 with 32 Mb of RAM to simultaneously run Dreamweaver, Internet Explorer 5 and Paint Shop Pro plus a half dozen smaller utilities, only occasionally grinding to a treacly halt. The secret is in memory optimisation - using one of many available freeware/shareware utilities to clean out and defrag your physical memory - and learning how to use it to the maximum effect. Having tried MemCleaner, MemTurbo and FreeMem Pro, I now use Rambooster version 1.6 (926 kb download from http://www.sci.fi/~borg/rambooster) because 1) it's free 2) it really works 3) it uses very little memory itself 4) it's convenient and intuitive and 5) it's nicely configurable without being over-complicated.
This article was written after an experienced and regular contributor to the evolt mailing list (http://evolt.org Workers of the Web, evolt! ) complained that "I installed RAMBooster and my system got VERY cranky. There appears to be a memory leak in RB as I sat there with only Outlook and RB running and watched my memory slowly decrease." I believe his problems were not caused by Rambooster itself but by the way he had configured it and / or by some other rogue application (prime suspect being Outlook). The help file for Rambooster is actually very clear and instructive, but sometimes an end user's personal account can be a better guide, so here's my $0.02c.
The need for a memory management utility.
We all know that the Windows Operating System's built-in memory management is far from perfect, which is why memory management utilities are so useful/popular/essential. Windows itself will do little more than handle the swapping out of information it judges to be low priority from your RAM (physical memory) to your hard drive (virtual memory), a process governed by the vagaries of loading and unloading large files. Windows won't detect and clean memory left occupied because of errors in programs (or in the OS itself). It doesn't do a very good job of distinguishing linked libraries which are unlikely to be needed. And erring on the side of caution, Windows is too slow to remove used (but no longer needed) data from cache.
Furthermore, not only will your memory get clogged up with unused files or file fragments, but over time, just like your hard drive, both physical and virtual memory can become fragmented. So, just as you need to occasionally tune-up your hard drive between sessions, to squeeze the best performance from your machine you should tune-up your memory frequently DURING sessions.
And while it would be nice to have a memory manager run quietly and efficiently in the background that's just not possible. (Windows' own memory management is actually reasonably unobtrusive - the most noticeable sign of it swinging in to action being furious disk activity for no apparent reason.) If you want to squeeze more out of your machine than it is capable of doing by itself, you're going to have to help it along by either not being so demanding or by manually triggering the physical memory optimisation process at the right moment - which only you can know, given what you have just done and what you intend to do next.
Rambooster will sit in the taskbar always showing exactly how much physical memory you have free.
A quick glance down before running a memory-hungry program or process will warn you if you need to optimize your memory first, avoiding problems later. For example I've now got 2820 Kb of free RAM.
Let's say I wanted to run Netscape now; less than 3 Mb is probably not enough RAM for a smooth start-up, but if I use Rambooster to optimize the memory... twice... I now have 17,424 Kb Free and can fire up Netscape quite happily.
As well as indicating when you need to optimize RAM, Rambooster's RAM and CPU-usage meters allows you to monitor what's going on in your system - and to assess the impact of Rambooster itself as well as other programs. It can be alarming to watch one hungry program eat up all your free memory and still want more, or to watch your memory slowly leak away never to return. The meters enable you to identify rogue programs and to find the best settings and techniques for using Rambooster on your system.
My System and my Rambooster settings
Before getting to the actual tips on using Rambooster here are a few specifications.
I use Rambooster on a 486-100 with 32 Mb of RAM running Windows 95 which I let manage my virtual memory (hard drive is 6.4 gigs with just under 1 gig free). Incredibly (and largely thanks to Rambooster) I use this machine as a 'Power User' - i.e. I usually have several applications open simultaneously, nearly always exceeding the physical limits of available Ram. Optimizing my memory not only makes such multi-tasking tolerable, it also helps me to run certain programs which claim to require a higher spec machine than I've got.
I'm currently using Rambooster version 1.6 (926 kb download from http://www.sci.fi/~org/rambooster) - and here are my settings:-
How and why I use those settings...
Mostly I use Rambooster to optimize memory immediately before running a memory-hungry program or process, for instance it has become a habit for me to optimize the memory whenever I'm about to open Dreamweaver, Paint Shop Pro or Netscape. Here's another example. I've now got 15.7 Mb of free memory. I'll open Photoshop... and it's dropped to 2.5 Mb. Now I'll optimize with Rambooster... and I'm back to 8.9 Mb.
I also find the use of Rambooster essential when scanning, to make sure there's enough physical RAM for the image immediately before hitting 'Scan' (otherwise it can come out mangled). When doing several scans or other multiple image work, the 'clear clipboard' function also proves indispensable.
Memory control - 17 Mb
The temptation is obviously to crank this level up to the Max, but for manual operation (i.e. clicking on Rambooster's 'Optimize' button) after much experimentation I found the maximum target level of free Ram which really works with my system is 17 Mb. Anything more and Rambooster just runs longer and slower for no benefit. (I guess the 15 Mb it cannot free is used by the OS plus other memory resident stuff like virus-checkers etc.) Like other memory cleaners with repeated optimisations Rambooster can be made to clean too much from the memory. It won't lose anything essential, but you may find your system slowing down if important stuff is shifted to the swap-file. (After 8 or 9 optimisations with this setting at maximum I now have 22.4 Mb free, but I'm hastily saving this file just in case of a crash.)
Within Preferences the two most important settings are:
Alarm level - 1 Mb
Run ONLY if CPU below - 40%
NOTE: Check out Rambooster's help file for the author's warning against setting the alarm level too high.
Useful as it is to have 'Run at alarm level' set to ON (asking Rambooster to run automatically whenever memory is low), like all memory managers, Rambooster can be more of a problem than a cure if it frequently interrupts the operation of other programs. Such interruptions can not only slow things down but can cause an Invalid Page Fault in running programs which in turn can bring down your system (particularly if the program is Netscape with its notoriously bad memory-handling). So it is important to set BOTH alarm AND CPU-Usage levels LOW enough that Rambooster will only try to start itself up if it is necessary and safe to do so.
I find that an alarm level of the lowest setting of 1 Mb will ensure that Rambooster kicks in only when physical memory is almost used up, while a CPU setting of 40% will prevent it from interrupting running programs. The CPU setting will be highly dependent on the spec of your system. My poor old 486 is nearly always pushed to 100%, so 40% represents relative idleness - if you've got the latest speed beast you'll probably need a much lower CPU setting to prevent interruptions.
Amount of RAM to free at alarm-level - 12 Mb
Remember that this is the level used when another operation has caused free memory to dip (and stay) below the alarm level, and then finished, allowing CPU activity to drop below your threshold. For this to happen another (memory-guzzling) program must be loaded in memory as well as the OS, so the optimum level for this setting will be a few Mb below the Memory Control level. You'll have to experiment with your system to find what level works best for you here. (I may have mine set too high - the program's author recommends between 1-2 Mbs and half of total RAM).
Times to retry - 1
If you need to free more RAM, just click 'Optimize' again.
Launch at startup - ON
Start minimized - OFF
When my Windows 95 starts up there's loads of disk activity during which the CPU-Usage stays stuck firmly at 100% while the memory leaks almost completely away. (Because I am a freeware/shareware junkie, installing and uninstalling programs without a care - after all, this old system will be replaced soon - my Windows Registry is bloated and mildly but not yet fatally corrupted - and I believe the effort to initialise the registry accounts for the slooow boot). Rambooster won't solve either of these issues, but if launched at start up and not minimized it will stay on top and show when CPU activity has eventually stopped and it's safe to continue. (I've found that while it is possible to open up programs during this disk activity, for subsequent stable operation it's better to wait for it to stop before doing anything else.) After a clean start Windows will stubbornly hold on to memory used during the boot, so it's a good idea to manually run Rambooster a couple of times before continuing. NOTE: Don't increase the general alarm level just to get Rambooster to run automatically at start-up.
Interval to refresh screen - 3 secs
When the Rambooster window is showing, Rambooster will check the CPU and memory levels at the interval set here. Setting this interval too low (i.e. to 1 sec) can interfere with the operation of other programs.
All other settings are simply matters of personal preference and do not significantly affect the operation of the program.
A FEW OBSERVATIONS (No Explanations):
After rebooting my system and optimizing the memory, when my machine is essentially idle, the CPU-Usage appears to fluctuate at low levels, (between 2% and 9%) while the memory also fluctuates (by a few tens or 100s of kb). After some time and use, however, the CPU-Usage sticks at 0%. An exchange of email with its author got me this answer: "yes, there are 2 small bugs in Rambooster, you are right.
The help-files don't work if Rambooster is 'autostarted'
and in some (not all) systems the cpu-reading is sometimes
false, 0% OR 100%. The first problem is already solved.
The second one is also partly solved, but the reason for
this is unknown. It seems that the problem has something
to do with the dial-up connections and/or modem."
Sometimes (particularly during heavy multi-tasking) Windows decides to do some wild disk activity, causing the physical memory to leak away in sizeable chunks before everything settles and it bounces right back. This, presumably is Windows' attempt a memory management by defragging the swap-file. It's best to just sit and wait this out. Rambooster won't help and almost anything you do can slow the process or even bring on the blue screen of death.
Sometimes an app may seem stuck on 100% CPU with the memory fluctuating at a very low level (typically less than 200Kb). Contrary to all sensible advice, at times like this using Rambooster to optimize the memory sometimes helps (but sometimes it just makes things worse). Similarly when all your memory has gone and Rambooster sits in the taskbar indicating 'Alar...' and struggling to do its thing, maximising Rambooster (thus giving it priority) can bring a quick resolution.
Closing apps (whether through the Ctrl+Alt+Del method or not) actually requires an immediate hit of memory, and once closed the memory used doesn't always become available immediately, if ever (again Netscape is a major culprit here). If you're really struggling to free up memory 1) clear the clipboard 2) close small apps first 3) close the big apps and then 4) use Rambooster.