ramBunctious

Frequently Asked Questions



Q. I'm having trouble creating a RAM disk. Can you give instructions for exactly how to create a RAM disk?
A. Here is a step-by-step description of how you can create a RAM disk.
  1. Open the ramBunctious application.
  2. Select "New RAM Disk..." from the File menu.
  3. Enter the name for your RAM disk (and the associated RAM disk image file).
  4. You may edit the initial settings.
  5. After you click "Save", the system will automatically format the RAM disk and put it on your desktop.
You now have successfully created a RAM disk.

Q. I'm trying to create a RAM disk for my Netscape cache. I've created the RAM disk, but Netscape doesn't recognize it when I try to choose a cache location in the Options/Network Preferences dialog.
A. Netscape caches must be some integral (1, 2, 3, ...) number of megabytes. Try creating a RAM disk that's 1440K. That's one MB to make Netscape happy, plus some "elbow room" for the invisible files and other overhead that the Mac OS automatically puts on every disk.

Q. Performance is of the utmost importance to me. How can I make my ramBunctious RAM disk as fast as possible?
A.

A different way of looking at the issue is to explore what can slow a ramBunctious RAM disk down.

One factor that affects performance is the write-through feature. If the RAM disk is not RAM-only -- that is, if it saves its contents to a file on a (real) disk, the driver needs to remember what parts of the RAM disk need to be updated. That's so it doesn't need to write out all the contents. It only writes out the bits that have changed.

A factor that definitely plays into RAM disk performance is whether virtual memory is turned on. If VM is on, there are performance penalties when the system needs to access RAM that's currently paged to disk, as well as the bookkeeping necessary to maintiain VM.

Another factor in ramBunctious performance, particularly noticeable with small chunk sizes, is the flickering LED-like access indicators. If a settings window is open, then every time the RAM disk is accessed, that flickering is drawn to the screen.

Short discussions of chunk size and virtual memory and their implications on RAM disk performance are in the glossary.

Finally, if multiple RAM disks are on the desktop, a small amount of time is spent figuring out which one is the one asking for attention.

To summarize, the fastest ramBunctious RAM disk is a single RAM-only RAM disk with the settings window closed, running on a system with virtual memory turned off.


Q. Is there a way to use a ramBunctious RAM disk as a startup disk?
A.

Unfortunately, no.

In order to work around the limitation, you can try what several ramBunctious users have done: set up a minimal Apple RAM disk to start up from, then use ramBunctious RAM disks for all the stuff you typically work on.

The reason that ramBunctious cannot be used as a startup disk is based on a crucial design decision we made. ramBunctious uses temporary memory, also known as "Process Manager Heap" memory or Multifinder memory.

Some RAM disk programs (like Apple's RAM disk control panel) use system memory — high memory above BufPtr — which enables them to be used as startup disks.

Here are some of the reasons for our decision to use temporary memory for the RAM disks:

  • It allows the user to reclaim the memory by simply unmounting the RAM disk; with RAM disks using memory above BufPtr, the computer needs to be restarted to reclaim the RAM disk's memory.
  • We wanted to allow the user to have multiple RAM disks online simultaneously. This was unfeasible using memory above BufPtr.

Making the problem worse in recent years is that hardware support for RAM disks you can start up from has gone away.

Machines with G3 and later processors do not have hardware support for a startup RAM disk. (RAM needs frequent power "blips" to stay valid. Old Macs kept sending these "blips" during the whole restart process, but modern Macs stop sending the "blips" and the RAM contents are lost.)

As long as there appears to be no likelihood that hardware support for RAM disks will be re-added to Apple's future machines, it's safe to say that new ramBunctious features will focus on other areas and not on increasingly obsolete machines.


Q. Why use write-through? Doesn't that degrade the performance, defeating the purpose of a RAM disk?
A. Writing through does cause a performance hit when writing to a RAM disk, but it maintains a safe RAM disk image file by ensuring that changes are written to a real disk file. Furthermore, reading from the RAM disk is where the greatest benefit occurs, since reading only looks at the RAM disk and has no need to access the RAM disk image file. A typical real-world example is compiling and linking an application. A compiler has to read all the files it compiles, some repeatedly, and writes a relatively small amount. By enabling the write-through feature of ramBunctious, your gain the advantage of fast reads from a RAM disk while maintaining the security of having new information in a real file on a real hard drive in the real world.

Q. Can ramBunctious be used to feed the hungry, heal the sick, stop wars, and guarantee equal justice for all?
A. Yes. But the explanation is complex; if we gave a full explanation, the only people who would understand the answer would be you and us.

Q.What are some uses of ramBunctious?
A. We have found that users of ramBunctious use it in a variety of ways, including:
  • Most web browsers use a cache to remember recently-visited sites. Netscape (and Internet Explorer 2.1 and up) allows you to choose where to put the cache. Using a RAM disk for a cache allows virtually instantaneous access to web pages you've previously visited. Furthermore, some versions of Netscape are acessing the cache constantly, and using a RAM disk decreases the irritation of this constant hard-drive chatter.
  • Programmers use ramBunctious to speed up project builds. When a project file and all the source code for a project are on a RAM disk, the development system can use the lightning speed of the RAM disk to drastically reduce the time required to build a project.
  • Some users like the security implications of a RAM disk. If the RAM disk is not mounted, it is impossible to examine the disk; no one can pry into folders, no one can load sensitive files, and no one can undelete files.
  • PowerBook users are often concerned with battery usage; a RAM disk doesn't have the relatively high power requirements of a hard drive.

Q. Are there any products known to be incompatible with ramBunctious?
A. As far as we know, ramBunctious doesn't trounce around doing skanky things. There are, however, some conflicts with existing products.
  • MountImage causes problems with several installers and other programs that need to eject disks. ramBunctious needs to unmount RAM disks, and MountImage interferes with that unmounting process. In fact, the author of MountImage has announced that he no longer supports MountImage. ramBunctious detects MountImage and refuses to run if MountImage is installed. Apple's DiskCopy utility is an elegant replacement for MountImage; it handles everything MountImage does without conflicting with other applications.
  • The LanRover extension seems to behave poorly with any application that uses temporary memory (also known as MultiFinder memory, or the "Process Manager Heap"); since ramBunctious uses temporary memory for the RAM disks, the LanRover extension often conflicts with ramBunctious. This behavior has been seen with LanRover version 3.7.3.
  • File Sharing can show up as an unusual error. Sometimes it seems impossible to unmount a RAM disk; ramBunctious repeatedly claims that files are open even though you know you've closed all the files. This is usually because of file sharing. Shut down file sharing, and you should be able to unmount the RAM disk. This is the same phenomenon occasionally seen when trying to eject a CD that's being shared.

Q. When I check "About This Computer" after putting away a RAM disk, it doesn't look as if the memory is being reclaimed. The "Largest Free Block" value is the same!
A.

The "About This Computer" window shows the largest free block. It does not show the total free memory. What follows is a series of pictures that describe what's happening in memory during a typical ramBunctious session. Each picture includes a "memory map", along with what the largest free block (what "About This Computer" shows) and the total free memory.

Initially, only Finder is running. There is also a System Heap at the bottom of memory, and a small amount of System Memory above BufPtr.

memory map -- system only

As ramBunctious is started, the application itself uses some memory; this can be seen in the following memory map.

memory map -- ramBunctious

Then, a one-megabyte RAM disk is created.

memory map -- 1MB RAM disk

Then, suppose SimpleText is launched. You can see that it is loaded immediately below the one-megabyte RAM disk. Also, note that in all the memory map pictures so far, all the free memory has been in one block; this means that the block has the same size as total free memory.

memory map -- SimpleText

Now, the one-megabyte RAM disk is put away.

memory map -- no RAM disk

You can see that although the RAM disk has been put away, the largest free block is still 4.6 MB -- the same size it was. But the total free memory shows that the memory used by the RAM disk has indeed been reclaimed by the system.

Just to make sure that the memory situation works as expected, suppose that SimpleText quits.

memory map -- no SimpleText

You can see that once SimpleText isn't an "obstacle" in the largest free block, the largest free block and the total free memory match up again.


Q. You guys don't work in a vacuum. Surely there are people who have been helpful when working on ramBunctious.
A.

There are many people who have helped, and without whose assistance we wouldn't be able to make ramBunctious the product it is.

  • Chris Li. Thanks for localizing ramBunctious to Japanese: it was the first localized version of ramBunctious, and we appreciate both your patience and your continuing efforts at maintaining and promoting ramBunctious in the Japanese market.
  • Chris Pethick. Thanks, Chris, for helping us grok some of the innards of the ToolBox. You've helped us both concretely and abstractly.
  • Troy Gaul. Thanks for great-looking, easy-to-implement windoids. Many Mac programs are better because of the freeware Infinity Windoids.
  • Fawzi Dormeyer. Thanks for localizing ramBunctious to French, but thanks even more for your enthusiastic help and hard work overhauling ramBunctious's appearance.