RAM Charger 8: Dynamic Memory Management for the Classic Mac OS

1997 – RAM Charger is a sophisticated memory manager for the Macintosh. It works on any Mac (compare this with RAM Doubler, which requires a 68030 or better and at least 8 MB of RAM). The current version works transparently, allowing you to simply install it and forget it on any Mac running System 7 – even 68000-based Macs that can’t use virtual memory or RAM Doubler.

I first used Jump Development’s OptiMem RAM Charger memory management software with version 1.5.x in late 1993. At that time, only power users at work had 8 MB of physical RAM – other users might have a 4 MB LC, 5 MB IIsi, or 4-6 MB PowerBook 170. With System 7 weighing in at over 2 MB plus all the important additions (Suitcase, Retrospect Remote, ATM, PopChar, MenuChoice, Pyro, etc.), OptiMem gave these users room to run Microsoft Word and FileMaker at the same time despite very limited amounts of RAM.

Over the years, we upgraded almost every Mac to 8 MB or more and discovered RAM Doubler. It was an easier solution than OptiMem, since you didn’t have to configure it for specific applications.

But RAM Doubler and RAM Charger are very different programs. Both allow you to run more programs with a limited amount of physical memory. RAM Doubler does it by emulating virtual memory, using RAM instead of the hard drive when possible. It does nothing to change the way Mac software uses memory.

RAM Charger is different. As each program is launched, it allocates just enough memory for it to run. As the program needs more memory, RAM Charger doles it out. In effect, all the unused system memory in your computer is available to any program as it needs it.

That’s the big difference between RAM Doubler and RAM Charger. Your Mac normally allocates a fixed amount of memory to each application, most of which remains unused. But even if you don’t need all that memory, it is not available to other applications. When you need to allocate more memory to a program because of a big file or having many files open, you need to manually resize the program’s memory preferences, which only causes it to reserve still more unused memory unless you later change it back.

For instance, I manage several email lists using Macjordomo. To allow the large attachments that some users send (despite repeated requests not to), I’ve given the program 2000 KB. RAM Charger drops that to 1500 KB. Similarly, MacHTTP had 1500 BK allocated, but RAM Charger reduced that to 450 KB.

If I had manually reduced the memory footprint of these programs, they would work most of the time, but they would eventually choke when they needed more memory. Then I’d have to quit the application, increase application size, and relaunch it. If that didn’t provide enough RAM, I would have to repeat the process until I had it high enough. This is true whether I am using conventional memory, virtual memory, or RAM Doubler.

RAM Charger offers one more benefit when used with virtual memory or RAM Doubler. By allocating memory only when necessary, there is less need to use the swap space of virtual memory or the memory compression of RAM Doubler. This makes using your programs and switching between them faster.

RAM Charger provides the needed memory on the fly. It allocates just enough memory when it is needed, then frees it for future use. This is called dynamic memory allocation* and is a far more sophisticated form of memory management than virtual memory. Best of all, RAM Charger is fully compatible with virtual memory and RAM Doubler, offering the best of both worlds when you don’t have enough physical RAM.

Case Studies

Jump Development was kind enough to provide several copies of RAM Charger for review and evaluation. I have been using it on my Mac II server and the Power Mac 7600 I use at work for some time and find it remarkably stable. It’s also nice to see that my 7600 hardly ever has to use virtual memory.

I’ve been moving RAM Charger around and gathering feedback. Here are the Macs I’ve tested it on:

Jump Development updated RAM Charger to version 8.1 in May 1998.

* Dynamic memory allocation is how Mac OS X handles memory.

Keywords: #ramcharger #dynamicmemoryallocation #memorymanager #memorymanagement

Short link: http://goo.gl/nWSm5h